Конвертируйте видео YouTube HDR (vp9.2) в HEVC HDR с помощью ffmpeg

3621
Michele Dall'Agata

Мой вопрос прост: как мне конвертировать HDR vp9.2 видео, загруженные с YouTube, в HEVC (лучше, если 10 бит) HDR видео?

Вчера я попробовал эту команду, единственную, которую я смог найти в Google:

ffmpeg -i ../4K-HDR\ Videos/The\ World\ in\ HDR\ in\ 4K\ \(ULTRA\ HD\)-2160p\ 60fps.mkv -c:v libx265 -x265-params "colorprim=bt2020:transfer=smpte-st-2084:colormatrix=bt2020nc:master-display=G(13250,34500)B(7500,3000)R(34000,16000)WP(15635,16450)L(10000000,10):max-cll=0,0" output.mkv 

Он конвертируется в HEVC (не уверен насчет 10 бит), но я теряю HDR. Кроме того, это, вероятно, слишком сложно ни за что. Какие-нибудь простые параметры ffmpeg, которые конвертируются из HDR в HDR? Благодарю.

1

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

2
Michele Dall'Agata

Я получил ответ от пользователя priivt8 в этом посте в macrumors. Во-первых, нужна более поздняя версия ffmpeg, которая поддерживает кодирование HEVC с высокой битовой глубиной, как, например, v3.4.1 .

Тогда это команда:

ffmpeg -i <infile> \ -c:a copy \ -c:v libx265 \ -tag:v hvc1 \ -crf 22 \ -pix_fmt yuv420p10le \ -x265-params "colorprim=bt2020:transfer=smpte2084:colormatrix=bt2020nc" \ <outfile>.mkv 

где

"-i <infile>" <infile> must be replace with the full file name of the video in input "\-c:a copy" copies the audio "-c:v libx265" tells ffmpeg to convert to HEVC "-tag:v hvc1" seems mandatory for Apple devices using quickTime and the like "-crf 22" is the compression. Lower the value, better the picture and higher the size "-pix_fmt yuv420p10le" for YCrCB 4:2:0 10-bits HDR "-x265-params" are the HEVC parameters for color range etc "<outfile>.mkv" is the file in output. Replace <outfile> with the name you like. The extensions (.mkv) tells ffmpeg to which container convert the video. 

Я преобразовал его в файл mkv, чтобы не было проблем с добавлением аудио из оригинального видео YouTube. можно использовать «.m4v» для видео, распознаваемых устройствами Apple.

Конвертированное видео теперь воспроизводится нормально, с HDR BT.2020 в Apple TV 4K (с использованием Infuse Pro) и Sony Video в моей Bravia с Android TV 7.0.

Можно добавить в ffmpeg опцию

-r 30 

Уменьшить частоту кадров с 60 до 30 кадров в секунду (чтобы она могла воспроизводиться iTunes на Apple TV 4K).

Обратите внимание, что FFmpeg не дает хорошего гоба с дробями, поэтому для 29,97 кадров в секунду вы должны использовать 3000/1001, для 23,976 использовать 24000/1001 и для 59,94, 60000/1001. Rodrigo Polo 6 лет назад 1
Ах хорошо. Я проверю это. Благодарю. Michele Dall'Agata 6 лет назад 0
1
Hendy Irawan

Вот моя «надежная» версия:

ffmpeg -i source.webm -c:v libx265 -x265-params "level=5.2:colorprim=bt2020:colormatrix=bt2020nc:transfer=smpte2084" -crf 12 -preset medium -c:a copy output.mkv 

Он работает на всех видео HDR YouTube (загружается с помощью ).youtube-dl -f 337+bestaudio

Это ( -crf 12) даст вам 18000-28000k видео битрейт для видео 4K. Я обычно использую, -preset ultrafastкогда в спешке, хотя. :)

Мне не нужно устанавливать -pix_fmt yuv420p10leи т. Д., Потому что это унаследует настройки из исходного файла VP9.

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