Hi Carl/Reto: Reto: We are just experimenting at the moment and seeing if this is a good idea or not for some in-house legacy prores SD PAL telecine files that have been in our backlog for several years. We have no conclusions yet, just doing some experimenting/having fun/learning a lot.
Carl, see below: On Tue, Jul 24, 2018 at 8:35 PM, Carl Eugen Hoyos <[email protected]> wrote: > 2018-07-24 16:05 GMT+02:00, W M <[email protected]>: > >> At the Irish Film Institute Film Archive, we are investigating the >> technicalities of normalising ProRes materials to FFV1, the major issue >> we've identified is that colour metadata "color primaries", "transfer >> characteristics", "matrix coefficients" are not carried over to the FFV1/mkv >> file. > > Command line and complete, uncut console output missing. > I am not working off of git-master at the moment, but i tried earlier with git master and i found the same behaviour: I'm pasting five command lines, 1) generate a prores file with a colr_atom. We used mediainfo --Details=1 to verify that colour metadata is present in the colr atom as well as within the prores bitstrem (icpf section) 2) transcode this file to ffv1/mkv 3) ffprobe output showing that no colour metadata values are present. 4) rewrap prores to matroska 5) colour values are present in this rewrapped file 1) generate a prores file with a colr_atom (we also tried this test with a file exported from FCP7) . We used mediainfo --Details=1 to verify that colour metadata is present in the colr atom as well as within the prores bitstrem (icpf section) $ ffmpeg -f lavfi -i testsrc=size=720x576 -colorspace bt470bg -color_primaries bt470bg -color_trc bt709 -c:v prores -pix_fmt yuv422p10le -movflags write_colr -t 1 colour.mov ffmpeg version N-90339-ged1a750 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609 configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-libopenjpeg libavutil 56. 10.100 / 56. 10.100 libavcodec 58. 14.100 / 58. 14.100 libavformat 58. 10.100 / 58. 10.100 libavdevice 58. 2.100 / 58. 2.100 libavfilter 7. 13.100 / 7. 13.100 libswscale 5. 0.102 / 5. 0.102 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Input #0, lavfi, from 'testsrc=size=720x576': Duration: N/A, start: 0.000000, bitrate: N/A Stream #0:0: Video: rawvideo (RGB[24] / 0x18424752), rgb24, 720x576 [SAR 1:1 DAR 5:4], 25 tbr, 25 tbn, 25 tbc Stream mapping: Stream #0:0 -> #0:0 (rawvideo (native) -> prores (native)) Press [q] to stop, [?] for help [prores @ 0x42230c0] encoding with ProRes standard (apcn) profile [prores @ 0x42262c0] encoding with ProRes standard (apcn) profile [prores @ 0x42296c0] encoding with ProRes standard (apcn) profile [prores @ 0x422cb80] encoding with ProRes standard (apcn) profile [prores @ 0x41ea3c0] encoding with ProRes standard (apcn) profile Output #0, mov, to 'colour.mov': Metadata: encoder : Lavf58.10.100 Stream #0:0: Video: prores (apcn / 0x6E637061), yuv422p10le(bt470bg/bt470bg/bt709), 720x576 [SAR 1:1 DAR 5:4], q=2-31, 200 kb/s, 25 fps, 12800 tbn, 25 tbc Metadata: encoder : Lavc58.14.100 prores frame= 25 fps=0.0 q=-0.0 Lsize= 1711kB time=00:00:00.96 bitrate=14601.0kbits/s speed=6.11x video:1710kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.050018% *** 2) transcode this file to ffv1/mkv $ ffmpeg -i colour.mov -c:v ffv1 -level 3 out.mkv ffmpeg version N-90339-ged1a750 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609 configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-libopenjpeg libavutil 56. 10.100 / 56. 10.100 libavcodec 58. 14.100 / 58. 14.100 libavformat 58. 10.100 / 58. 10.100 libavdevice 58. 2.100 / 58. 2.100 libavfilter 7. 13.100 / 7. 13.100 libswscale 5. 0.102 / 5. 0.102 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'colour.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf58.10.100 Duration: 00:00:01.00, start: 0.000000, bitrate: 14018 kb/s Stream #0:0(eng): Video: prores (apcn / 0x6E637061), yuv422p10le(smpte170m/bt470bg/bt709, progressive), 720x576, 14011 kb/s, SAR 1:1 DAR 5:4, 25 fps, 25 tbr, 12800 tbn, 12800 tbc (default) Metadata: handler_name : DataHandler encoder : Lavc58.14.100 prores File 'out.mkv' already exists. Overwrite ? [y/N] y Stream mapping: Stream #0:0 -> #0:0 (prores (native) -> ffv1 (native)) Press [q] to stop, [?] for help [ffv1 @ 0x30b0000] bits_per_raw_sample > 8, forcing range coder Output #0, matroska, to 'out.mkv': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf58.10.100 Stream #0:0(eng): Video: ffv1 (FFV1 / 0x31564646), yuv422p10le, 720x576 [SAR 1:1 DAR 5:4], q=2-31, 200 kb/s, 25 fps, 1k tbn, 25 tbc (default) Metadata: handler_name : DataHandler encoder : Lavc58.14.100 ffv1 frame= 25 fps=0.0 q=-0.0 Lsize= 695kB time=00:00:00.96 bitrate=5920.4kbits/s speed=5.75x video:693kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.196114% *** 3) ffprobe output showing that no colour metadata values are present. $ ffprobe -v 0 -show_streams out.mkv |grep color color_range=unknown color_space=unknown color_transfer=unknown color_primaries=unknown ** 4) rewrap prores to matroska $ ffmpeg -i colour.mov -c copy woah.mkv ffmpeg version N-90339-ged1a750 Copyright (c) 2000-2018 the FFmpeg developers built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.9) 20160609 configuration: --prefix=/home/kieranjol/ffmpeg_build --pkg-config-flags=--static --extra-cflags=-I/home/kieranjol/ffmpeg_build/include --extra-ldflags=-L/home/kieranjol/ffmpeg_build/lib --extra-libs='-lpthread -lm' --bindir=/home/kieranjol/bin --enable-gpl --enable-libass --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libx265 --enable-nonfree --enable-libopenjpeg libavutil 56. 10.100 / 56. 10.100 libavcodec 58. 14.100 / 58. 14.100 libavformat 58. 10.100 / 58. 10.100 libavdevice 58. 2.100 / 58. 2.100 libavfilter 7. 13.100 / 7. 13.100 libswscale 5. 0.102 / 5. 0.102 libswresample 3. 0.101 / 3. 0.101 libpostproc 55. 0.100 / 55. 0.100 Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'colour.mov': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf58.10.100 Duration: 00:00:01.00, start: 0.000000, bitrate: 14018 kb/s Stream #0:0(eng): Video: prores (apcn / 0x6E637061), yuv422p10le(smpte170m/bt470bg/bt709, progressive), 720x576, 14011 kb/s, SAR 1:1 DAR 5:4, 25 fps, 25 tbr, 12800 tbn, 12800 tbc (default) Metadata: handler_name : DataHandler encoder : Lavc58.14.100 prores Output #0, matroska, to 'woah.mkv': Metadata: major_brand : qt minor_version : 512 compatible_brands: qt encoder : Lavf58.10.100 Stream #0:0(eng): Video: prores (apcn / 0x6E637061), yuv422p10le(smpte170m/bt470bg/bt709, progressive), 720x576 [SAR 1:1 DAR 5:4], q=2-31, 14011 kb/s, 25 fps, 25 tbr, 1k tbn, 12800 tbc (default) Metadata: handler_name : DataHandler encoder : Lavc58.14.100 prores Stream mapping: Stream #0:0 -> #0:0 (copy) Press [q] to stop, [?] for help frame= 25 fps=0.0 q=-1.0 Lsize= 1712kB time=00:00:00.96 bitrate=14595.2kbits/s speed= 235x video:1710kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.106087% ** 5) colour values are present in this rewrapped file $ ffprobe -v 0 -show_streams woah.mkv |grep color color_range=unknown color_space=smpte170m color_transfer=bt709 color_primaries=bt470bg AAAAAND just for fun, here's a section of a mediainfo --details=1 output of the remuxed stream copied prores/mov to prores/mkv that shows the values present in the container, not just the stream: 0001C9 FlagInterlaced - 2 (0x2) (3 bytes) 0001C9 Header (2 bytes) 0001C9 Name: 26 (0x1A) 0001CA Size: 1 (0x01) 0001CB Data: 2 (0x02) 0001CC Colour (15 bytes) 0001CC Header (3 bytes) 0001CC Name: 5552 (0x15B0) 0001CE Size: 12 (0x0C) 0001CF TransferCharacteristics - 1 (0x1) - BT.709 (4 bytes) 0001CF Header (3 bytes) 0001CF Name: 5562 (0x15BA) 0001D1 Size: 1 (0x01) 0001D2 Data: 1 (0x01) 0001D3 MatrixCoefficients - 6 (0x6) - BT.601 (4 bytes) 0001D3 Header (3 bytes) 0001D3 Name: 5553 (0x15B1) 0001D5 Size: 1 (0x01) 0001D6 Data: 6 (0x06) 0001D7 Primaries - 5 (0x5) - BT.601 PAL (4 bytes) 0001D7 Header (3 bytes) 0001D7 Name: 5563 (0x15BB) 0001D9 Size: 1 (0x01) 0001DA Data: 5 (0x05) Best, Kieran O'Leary. _______________________________________________ ffmpeg-user mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-user To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
