обратите внимание, что для этого вы всегда должны использовать последняя версия ffmpeg, а лучше скомпилируйте сами. Это дает вам доступ к последним libx265 и libfdk-aac для кодирования звука.
также, сбережения тарифа данных будут довольно радикальны если вы идете от ~ 10 Мбит/с ДВД до около 1-2 Мбит/с для видео Х. 264 и 0.5–1 Мбит / с для видео Х. 265. Изменение качества в следующих шагах может повлиять на битрейты, но все же данные снижение должно быть значительным.
H. 264
для контроля качества / скорости, вы хотите использовать режим CRF в libx264 вместо постоянного битрейта. Использование CRF гарантирует сохранение среднего качества независимо от исходного разрешения видео или его сложности. Постоянный битрейт очень полезен, только если вы ограничены средой передачи (например, скорость жесткого диска, пропускная способность интернета).
выбор значения CRF является сложная часть. Это требует от вас, чтобы посмотреть на выходе. Значение по умолчанию для libx264 (23) предлагает довольно хороший компромисс между размером и качеством. Но учитывая, что ваш исходный код уже сжат (и не с очень хороший качество по сравнению с Blu-rays), вы можете изменить CRF, чтобы быть немного ниже, например, 20. Это увеличит необходимый битрейт примерно на треть.
выберите пресет согласно сколько времени вы хотите ждать. slow
кажется хорошим значением здесь.
ffmpeg -i input \
-c:v libx264 -crf 20 -pix_fmt yuv420p \
-x264-params keyint=240:min-keyint=20 \
-preset:v slow -profile:v baseline -level 3.0 \
-c:a libfdk_aac -vbr 4 \
output.mp4
встроенный кодировщик ffmpeg AAC можно использовать, если libfdk-aac недоступен. Используйте -c:a aac -strict experimental -b:a 128k
вместо -c:a libfdk_aac -vbr 4
.
H. 265
исследования показывают, что использование HEVC приведет к сохранению битрейта до 74% по сравнению с H. 264. Это основано на субъективных данных по просмотра последовательностей Ультра-HD. Конечно, это зависит от временной сложности исходного контента, и объем сохраняемых данных не будет таким высоким для трудного кода последовательности. В любом случае вы можете смело сказать что уменьшение 50% данных совершенно возможно.
CRF по умолчанию для libx265 равен 28. При использовании одного и того же исходного содержимого получается примерно половина битрейта по сравнению с libx264 при CRF 23. Это независимо от фактического битрейта, т. е. если версия H. 264 занимает 1.5 Мбит/с, То H. 265 будет использовать около 750 кбит/с, но это 750 кбит/с против 350 кбит/с для другой последовательности. Я запустил его на нескольких последовательностях с разрешением DVD-PAL и не смог отличить разницу в плане качества.
ffmpeg -i input \
-c:v libx265 -pix_fmt yuv420p \
-x265-params crf=28:keyint=240:min-keyint=20 \
-preset:v slow \
-c:a libfdk_aac -vbr 4 \
output.mp4
для получения дополнительной информации, вот соответствующие ресурсы: