| 1 | FFBIN=ffmpeg
|
|---|
| 2 | #FFBIN="/media/pool/apps/installffmpeg_lb4/ffmpeg_lb4"
|
|---|
| 3 |
|
|---|
| 4 | cd /path/to/dir/of/PR4444_709_lim.mov
|
|---|
| 5 |
|
|---|
| 6 |
|
|---|
| 7 | ####### Question/ My wrong understanding?
|
|---|
| 8 | This strange behaviour only makes sense, if the filter chain is interpreted as a separate container, and the output (range) key is interpreted as "additional factor, before the last factor inside -pix_fmt yuv422p10le is applied" (as opposed to yuvj...). So to say multiplied.
|
|---|
| 9 | From the documentation, I took key "range" as literal "absolute" meaning.
|
|---|
| 10 | However, the input key (irange) is -in tests- handling real input (not tested with file param "-color_range").
|
|---|
| 11 |
|
|---|
| 12 | ####### Suggestion
|
|---|
| 13 | So if this concept is ideal and intended, it may be useful to somehow make it clearer, that these range/irange are factors, not forced/absolute. Or it may be useful for the understanding, if the log explicitly prints: what levels the decoder and encoder eventually chose. That way it's easier to debug inwards.
|
|---|
| 14 | My personal experience is that I don't know enough about the code to find these answers in the source.
|
|---|
| 15 |
|
|---|
| 16 | ####### remarks
|
|---|
| 17 | - The full range file "PR4444_709_full.mov" is just in case you want to test other stuff. Not needed.
|
|---|
| 18 | - The black and white bars are meant to be visually 0% and 100% levels.
|
|---|
| 19 | - yes i think ProRes4444 is acctually by definition fullrange
|
|---|
| 20 |
|
|---|
| 21 |
|
|---|
| 22 |
|
|---|
| 23 |
|
|---|
| 24 |
|
|---|
| 25 |
|
|---|
| 26 |
|
|---|
| 27 | ####### "tv" to "tv"
|
|---|
| 28 | ####### I want: limited levels
|
|---|
| 29 | ####### I get: extremly limited levels (wrong)
|
|---|
| 30 | input=PR4444_709_lim.mov
|
|---|
| 31 | output=PR4444_709_lim-tvtotv.mov
|
|---|
| 32 | #input="/media/pool/vrender_input/FF_foto_test/$input"
|
|---|
| 33 | #output="/media/scratch2/$output"
|
|---|
| 34 |
|
|---|
| 35 | "$FFBIN" -y -i "$input" -an -filter_complex "[0:0]setfield=prog[vtmp1],[vtmp1]\
|
|---|
| 36 | \
|
|---|
| 37 | colorspace=ispace=bt709:itrc=gamma22:iprimaries=bt709:irange=tv:\
|
|---|
| 38 | space=bt709:trc=gamma22:primaries=bt709:range=tv:\
|
|---|
| 39 | format=yuv444p12:dither=fsb:wpadapt=identity\
|
|---|
| 40 | \
|
|---|
| 41 | [vtmp2]" -map [vtmp2] -c:v prores -profile:v 3 -pix_fmt yuv422p10le -b:v 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k -sn -threads 0 "$output"
|
|---|
| 42 |
|
|---|
| 43 |
|
|---|
| 44 | ###### STDOUT
|
|---|
| 45 | ffmpeg version git-2017-06-08-820f4f5 Copyright (c) 2000-2017 the FFmpeg developers
|
|---|
| 46 | built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
|
|---|
| 47 | ---
|
|---|
| 48 | LB4: gamma235 inserted
|
|---|
| 49 | LB4: raw XYZ DCP colorspace inserted
|
|---|
| 50 |
|
|---|
| 51 |
|
|---|
| 52 | configuration: --prefix=/home/builder/builds/allff/target --pkg-config-flags=--static --extra-cflags=-I/home/builder/builds/allff/target/include --extra-ldflags=-L/home/builder/builds/allff/target/lib --extra-ldexeflags=-static --bindir=/home/builder/builds/allff/bin --enable-pic --enable-ffplay --enable-ffserver --enable-fontconfig --enable-frei0r --enable-gpl --enable-version3 --enable-libass --enable-libfribidi --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --enable-nonfree --progs-suffix=_lb4
|
|---|
| 53 | libavutil 55. 63.100 / 55. 63.100
|
|---|
| 54 | libavcodec 57. 96.101 / 57. 96.101
|
|---|
| 55 | libavformat 57. 72.101 / 57. 72.101
|
|---|
| 56 | libavdevice 57. 7.100 / 57. 7.100
|
|---|
| 57 | libavfilter 6. 91.100 / 6. 91.100
|
|---|
| 58 | libswscale 4. 7.101 / 4. 7.101
|
|---|
| 59 | libswresample 2. 8.100 / 2. 8.100
|
|---|
| 60 | libpostproc 54. 6.100 / 54. 6.100
|
|---|
| 61 | Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/pool/vrender_input/FF_foto_test/PR4444_709_lim.mov':
|
|---|
| 62 | Metadata:
|
|---|
| 63 | major_brand : qt
|
|---|
| 64 | minor_version : 0
|
|---|
| 65 | compatible_brands: qt
|
|---|
| 66 | creation_time : 2017-06-08T16:46:08.000000Z
|
|---|
| 67 | Duration: 00:00:00.29, start: 0.000000, bitrate: 264206 kb/s
|
|---|
| 68 | Stream #0:0(und): Video: prores (ap4h / 0x68347061), yuv444p10le(bt709, progressive), 1920x1080, 264167 kb/s, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 24 tbn, 24 tbc (default)
|
|---|
| 69 | Metadata:
|
|---|
| 70 | creation_time : 2017-06-08T16:46:08.000000Z
|
|---|
| 71 | handler_name : Core Media Data Handler
|
|---|
| 72 | encoder : Apple ProRes 4444
|
|---|
| 73 | timecode : 01:00:17:04
|
|---|
| 74 | Stream #0:1(und): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
|
|---|
| 75 | Metadata:
|
|---|
| 76 | creation_time : 2017-06-08T16:46:08.000000Z
|
|---|
| 77 | handler_name : Core Media Data Handler
|
|---|
| 78 | timecode : 01:00:17:04
|
|---|
| 79 | Stream mapping:
|
|---|
| 80 | Stream #0:0 (prores) -> setfield
|
|---|
| 81 | colorspace -> Stream #0:0 (prores)
|
|---|
| 82 | Press [q] to stop, [?] for help
|
|---|
| 83 | Output #0, mov, to '/media/scratch2/PR4444_709_lim-tvtotv.mov':
|
|---|
| 84 | Metadata:
|
|---|
| 85 | major_brand : qt
|
|---|
| 86 | minor_version : 0
|
|---|
| 87 | compatible_brands: qt
|
|---|
| 88 | encoder : Lavf57.72.101
|
|---|
| 89 | Stream #0:0: Video: prores (apch / 0x68637061), yuv422p10le, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 4000 kb/s, 24 fps, 12288 tbn, 24 tbc (default)
|
|---|
| 90 | Metadata:
|
|---|
| 91 | encoder : Lavc57.96.101 prores
|
|---|
| 92 | frame= 7 fps=0.0 q=-0.0 Lsize= 8293kB time=00:00:00.25 bitrate=271669.5kbits/s speed=0.451x
|
|---|
| 93 | video:8293kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.009021%
|
|---|
| 94 |
|
|---|
| 95 |
|
|---|
| 96 |
|
|---|
| 97 |
|
|---|
| 98 |
|
|---|
| 99 |
|
|---|
| 100 |
|
|---|
| 101 |
|
|---|
| 102 | ####### "tv" to "pc"
|
|---|
| 103 | ####### I want: limited levels
|
|---|
| 104 | ####### I get: limited levels (correct)
|
|---|
| 105 | input=PR4444_709_lim.mov
|
|---|
| 106 | output=PR4444_709_lim-tvtopc.mov
|
|---|
| 107 | #input="/media/pool/vrender_input/FF_foto_test/$input"
|
|---|
| 108 | #output="/media/scratch2/$output"
|
|---|
| 109 |
|
|---|
| 110 | "$FFBIN" -y -i "$input" -an -filter_complex "[0:0]setfield=prog[vtmp1],[vtmp1]\
|
|---|
| 111 | \
|
|---|
| 112 | colorspace=ispace=bt709:itrc=gamma22:iprimaries=bt709:irange=tv:\
|
|---|
| 113 | space=bt709:trc=gamma22:primaries=bt709:range=pc:\
|
|---|
| 114 | format=yuv444p12:dither=fsb:wpadapt=identity\
|
|---|
| 115 | \
|
|---|
| 116 | [vtmp2]" -map [vtmp2] -c:v prores -profile:v 3 -pix_fmt yuv422p10le -b:v 4000k -minrate 4000k -maxrate 4000k -bufsize 1835k -sn -threads 0 "$output"
|
|---|
| 117 |
|
|---|
| 118 |
|
|---|
| 119 | ###### STDOUT
|
|---|
| 120 | ffmpeg version git-2017-06-08-820f4f5 Copyright (c) 2000-2017 the FFmpeg developers
|
|---|
| 121 | built with gcc 5.4.0 (Ubuntu 5.4.0-6ubuntu1~16.04.4) 20160609
|
|---|
| 122 | ---
|
|---|
| 123 | LB4: gamma235 inserted
|
|---|
| 124 | LB4: raw XYZ DCP colorspace inserted
|
|---|
| 125 |
|
|---|
| 126 |
|
|---|
| 127 | configuration: --prefix=/home/builder/builds/allff/target --pkg-config-flags=--static --extra-cflags=-I/home/builder/builds/allff/target/include --extra-ldflags=-L/home/builder/builds/allff/target/lib --extra-ldexeflags=-static --bindir=/home/builder/builds/allff/bin --enable-pic --enable-ffplay --enable-ffserver --enable-fontconfig --enable-frei0r --enable-gpl --enable-version3 --enable-libass --enable-libfribidi --enable-libfdk-aac --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-librtmp --enable-libsoxr --enable-libspeex --enable-libtheora --enable-libvidstab --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxvid --enable-libzimg --enable-nonfree --progs-suffix=_lb4
|
|---|
| 128 | libavutil 55. 63.100 / 55. 63.100
|
|---|
| 129 | libavcodec 57. 96.101 / 57. 96.101
|
|---|
| 130 | libavformat 57. 72.101 / 57. 72.101
|
|---|
| 131 | libavdevice 57. 7.100 / 57. 7.100
|
|---|
| 132 | libavfilter 6. 91.100 / 6. 91.100
|
|---|
| 133 | libswscale 4. 7.101 / 4. 7.101
|
|---|
| 134 | libswresample 2. 8.100 / 2. 8.100
|
|---|
| 135 | libpostproc 54. 6.100 / 54. 6.100
|
|---|
| 136 | Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '/media/pool/vrender_input/FF_foto_test/PR4444_709_lim.mov':
|
|---|
| 137 | Metadata:
|
|---|
| 138 | major_brand : qt
|
|---|
| 139 | minor_version : 0
|
|---|
| 140 | compatible_brands: qt
|
|---|
| 141 | creation_time : 2017-06-08T16:46:08.000000Z
|
|---|
| 142 | Duration: 00:00:00.29, start: 0.000000, bitrate: 264206 kb/s
|
|---|
| 143 | Stream #0:0(und): Video: prores (ap4h / 0x68347061), yuv444p10le(bt709, progressive), 1920x1080, 264167 kb/s, SAR 1:1 DAR 16:9, 24 fps, 24 tbr, 24 tbn, 24 tbc (default)
|
|---|
| 144 | Metadata:
|
|---|
| 145 | creation_time : 2017-06-08T16:46:08.000000Z
|
|---|
| 146 | handler_name : Core Media Data Handler
|
|---|
| 147 | encoder : Apple ProRes 4444
|
|---|
| 148 | timecode : 01:00:17:04
|
|---|
| 149 | Stream #0:1(und): Data: none (tmcd / 0x64636D74), 0 kb/s (default)
|
|---|
| 150 | Metadata:
|
|---|
| 151 | creation_time : 2017-06-08T16:46:08.000000Z
|
|---|
| 152 | handler_name : Core Media Data Handler
|
|---|
| 153 | timecode : 01:00:17:04
|
|---|
| 154 | Stream mapping:
|
|---|
| 155 | Stream #0:0 (prores) -> setfield
|
|---|
| 156 | colorspace -> Stream #0:0 (prores)
|
|---|
| 157 | Press [q] to stop, [?] for help
|
|---|
| 158 | Output #0, mov, to '/media/scratch2/PR4444_709_lim-tvtopc.mov':
|
|---|
| 159 | Metadata:
|
|---|
| 160 | major_brand : qt
|
|---|
| 161 | minor_version : 0
|
|---|
| 162 | compatible_brands: qt
|
|---|
| 163 | encoder : Lavf57.72.101
|
|---|
| 164 | Stream #0:0: Video: prores (apch / 0x68637061), yuv422p10le, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 4000 kb/s, 24 fps, 12288 tbn, 24 tbc (default)
|
|---|
| 165 | Metadata:
|
|---|
| 166 | encoder : Lavc57.96.101 prores
|
|---|
| 167 | frame= 7 fps=0.0 q=-0.0 Lsize= 8307kB time=00:00:00.25 bitrate=272112.0kbits/s speed=0.479x
|
|---|
| 168 | video:8306kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.009006%
|
|---|
| 169 |
|
|---|