FFmpeg затемнение видео

657
Muindor

Я пытаюсь изменить настройки кодирования с Mac на Windows. Как часть этого, я пытаюсь заставить FFmpeg работать как мой кодировщик ProRes.

Я конвертирую из 10-битного несжатого в ProRes 422 HQ. Когда я это делаю, цвета заметно темнее, по сравнению с исходной несжатой и ProRes от Adobe Media Encoder.

я использую

./ffmpeg -i testfile.mov -c:v prores_ks -profile:v 3 -pix_fmt yuv422p10le -c:a copy prores422_ks4.mov

Я пробовал кодек ProRes и Prores_KS, с тем же результатом. Я запустил MediaInfo для файлов и получил следующее:

Adobe Media Encoder (правильный цвет)

Format : MPEG-4 Format profile : QuickTime Codec ID : qt 2005.03 (qt ) File size : 208 MiB Duration : 13 s 13 ms Overall bit rate mode : Variable Overall bit rate : 134 Mb/s Encoded date : UTC 2018-03-14 22:08:26 Tagged date : UTC 2018-03-14 22:09:38 Writing library : Apple QuickTime TIM : 00:59:53:00 TSC : 24000 TSZ : 1001  Video ID : 1 Format : ProRes Format version : Version 0 Format profile : 422 HQ Codec ID : apch Duration : 13 s 13 ms Bit rate mode : Variable Bit rate : 132 Mb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 23.976 (24000/1001) FPS Color space : YUV Chroma subsampling : 4:2:2 Scan type : Progressive Bits/(Pixel*Frame) : 2.654 Stream size : 205 MiB (98%) Writing library : Apple Language : English Encoded date : UTC 2018-03-14 22:08:26 Tagged date : UTC 2018-03-14 22:08:26 Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709 

FFmpeg (более темные цвета)

Format : MPEG-4 Format profile : QuickTime Codec ID : qt 0000.02 (qt ) File size : 195 MiB Duration : 13 s 55 ms Overall bit rate mode : Variable Overall bit rate : 125 Mb/s Writing application : Lavf57.83.100  Video ID : 1 Format : ProRes Format version : Version 0 Format profile : 422 HQ Codec ID : apch Duration : 13 s 55 ms Bit rate mode : Variable Bit rate : 124 Mb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 23.976 (24000/1001) FPS Color space : YUV Chroma subsampling : 4:2:2 Scan type : Progressive Bits/(Pixel*Frame) : 2.485 Stream size : 192 MiB (99%) Writing library : Lavc Language : English Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709 

Оригинальные кадры

Format : MPEG-4 Format profile : QuickTime Codec ID : qt 2005.03 (qt ) File size : 2.42 GiB Duration : 13 s 55 ms Overall bit rate : 1 592 Mb/s Encoded date : UTC 2018-03-14 20:32:39 Tagged date : UTC 2018-03-14 20:32:39  Video ID : 1 Format : RGB Codec ID : r210 Codec ID/Hint : Blackmagic Design Duration : 13 s 55 ms Bit rate mode : Constant Bit rate : 1 591 Mb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Frame rate mode : Constant Frame rate : 23.976 (24000/1001) FPS Color space : YUV Scan type : Progressive Bits/(Pixel*Frame) : 32.000 Stream size : 2.42 GiB (100%) Language : English Encoded date : UTC 2018-03-14 20:32:39 Tagged date : UTC 2018-03-14 20:32:39 Color primaries : BT.709 Transfer characteristics : BT.709 Matrix coefficients : BT.709 

Вот вывод из FFMpeg

Guessed Channel Layout for Input Stream #0.2 : stereo Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'testfile.mov': Metadata: major_brand : qt  minor_version : 537199360 compatible_brands: qt  creation_time : 2018-03-14T20:32:39.000000Z Duration: 00:00:13.05, start: 0.000000, bitrate: 1592473 kb/s Stream #0:0(eng): Video: r210 (r210 / 0x30313272), rgb48le(10 bpc, bt709, progressive), 1920x1080, 1590933 kb/s, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 24k tbn, 24k tbc (default) Metadata: creation_time : 2018-03-14T20:32:39.000000Z handler_name : Linux Alias Data Handler encoder : 10 bit packed RGB (r210) timecode : 00:59:53:00 Stream #0:1(eng): Data: none (tmcd / 0x64636D74), 0 kb/s (default) Metadata: rotate : 0 creation_time : 2018-03-14T20:32:39.000000Z handler_name : Libquicktime Time Code Media Handler reel_name : untitled timecode : 00:59:53:00 Stream #0:2(eng): Audio: pcm_s16be (lpcm / 0x6D63706C), 48000 Hz, stereo, s16, 1536 kb/s (default) Metadata: creation_time : 2018-03-14T20:32:39.000000Z handler_name : Linux Alias Data Handler Stream mapping: Stream #0:0 -> #0:0 (r210 (native) -> prores (prores_ks)) Stream #0:2 -> #0:1 (copy) Press [q] to stop, [?] for help Output #0, mov, to 'prores422_ks9.mov': Metadata: major_brand : qt  minor_version : 537199360 compatible_brands: qt  encoder : Lavf57.83.100 Stream #0:0(eng): Video: prores (prores_ks) (apch / 0x68637061), yuv422p10le, 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 200 kb/s, 23.98 fps, 24k tbn, 23.98 tbc (default) Metadata: creation_time : 2018-03-14T20:32:39.000000Z handler_name : Linux Alias Data Handler timecode : 00:59:53:00 encoder : Lavc57.107.100 prores_ks Stream #0:1(eng): Audio: pcm_s16be (lpcm / 0x6D63706C), 48000 Hz, stereo, s16, 1536 kb/s (default) Metadata: creation_time : 2018-03-14T20:32:39.000000Z handler_name : Linux Alias Data Handler 

Вот несколько примеров изображений того, как выглядит изменение. Я не могу публиковать полные кадры или что-либо идентифицирующее содержание, но вот некоторые образцы цветов.

Media Encoder Beige

FFMpeg Бежевый

Media Encoder Blue

FFMpeg Blue

Правильные цветные полосы

FFMpeg Color Bars

Примечание. Я обрезал черную или две рамки с конца в Media Encoder

Я новичок в FFmpeg, поэтому любая помощь будет принята с благодарностью! Я предполагаю, что упускаю что-то очевидное.

0
становится только темнее или становится менее контрастным? Вполне возможно, что FFmpeg интерпретирует ваш исходный материал как 0-255, тогда как на самом деле это уже 16-240 (я знаю, что это 10-битный, но вы поняли идею ...). Кроме того, баннер ffmpeg поможет - и знать что-то об источнике. flolilolilo 6 лет назад 0
@flolilolilo Я только что обновил пост с фотографиями, MediaInfo из несжатого источника и показаниями FFmpeg. Спасибо вам большое! Muindor 6 лет назад 0
Э-э ... ты можешь передать что-то еще ... контраст? в идеале это были бы некоторые [цветные полосы] (https://en.wikipedia.org/wiki/File:EBU_Colorbars.svg), поэтому мы можем видеть, влияет ли это на весь спектр уровней (vulgo: все становится темнее) или если он просто сжимает верхнюю и нижнюю части спектра. flolilolilo 6 лет назад 0
Тем не менее, из того, что я вижу, я бы поспорил, что все сводится к конвертации из RGB48 (как его называет ffmpeg) в YUV422. Я проверю, смогу ли я найти что-нибудь на эту тему ... flolilolilo 6 лет назад 0
@flolilolilo Я только что добавил несколько цветовых полос. Большое спасибо за помощь. Я тоже буду искать! Muindor 6 лет назад 0
Как вы можете видеть, он только затемняет светлые цвета - черный становится светлее. поэтому я предполагаю, что он пытается сделать ваше видео безопасным для ТВ (16-235 вместо 0-255 - это 8 бит, я знаю ;-)). Сейчас мне нужно идти спать, но, возможно, [этот трек ffmpeg "Невозможно перекодировать RGB-видео полного диапазона"] (https://trac.ffmpeg.org/ticket/3409) может быть полезен. Завтра рассмотрим больше ;-). flolilolilo 6 лет назад 0
@flolilolilo Теперь, когда я знаю, что искать, я вижу, что это общая проблема. Я заглянул в этот пост и не смог найти решение, но продолжу искать: D Спасибо! Muindor 6 лет назад 0

0 ответов на вопрос

Похожие вопросы