9

У меня есть коробка DVD-видеодисков, от которой я хочу избавиться, в то время как я хотел бы сохранить видео, преобразовав их в файлы MP4 для хранения на жестком диске.

Учитывая превосходство современных алгоритмов сжатия H.264 AVC и H.265 HEVC над стандартом DVD MPEG2, я надеюсь сэкономить место на жестком диске, сжимая видео, сохраняя при этом ~ 99% исходного качества DVD.

Какие

  • Параметры сжатия H.264 (FFMPEG + libx264)
  • Параметры сжатия H.265 (FFMPEG + libx265)

я должен использовать для достижения своей цели?

Под параметрами я подразумеваю значения CBR/CRF, пресет (пожалуйста, без veryslow/ плацебо), флаги и т.д.

PS: я бы предпочел ограничить использование с помощью -pix_fmt yuv420p и -profile:v baseline -level 3.0 чтобы гарантировать, что файл воспроизводится нормально на всех устройствах, включая старые устройства, использующие старые чипы аппаратного декодера. Использование несколько увеличенной частоты I-кадров (с использованием параметра -g ) также желательно для облегчения использования медленных носителей с низкой скоростью и высокой задержкой.

Что касается HEVC, я бы также предпочел использовать параметры, которые обеспечивали бы плавное аппаратно-ускоренное воспроизведение на устройствах, которые его поддерживают, но я не хочу фокусироваться на этом ограничении, поскольку я не видел ни одного устройства, предлагающего аппаратно-ускоренное H.265. декодирования вообще пока нет.

1 ответ1

12

Обратите внимание, что для этого вы всегда должны использовать последнюю версию ffmpeg и, предпочтительно, скомпилировать ее самостоятельно. Это дает вам доступ к самым последним libx265 и libfdk-aac для кодирования звука.

Кроме того, экономия скорости передачи данных будет весьма существенной, если вы перейдете с DVD-диска ~ 10 Мбит / с до 1-2 Мбит / с для видео H.264 и 0,5–1 Мбит / с для видео H.265. Изменение качества в следующих шагах может повлиять на битрейт, но все же уменьшение данных должно быть значительным.

H.264

Для контроля качества / скорости вы хотите использовать режим CRF в libx264, а не постоянный битрейт. Использование CRF гарантирует сохранение среднего качества независимо от исходного разрешения видео или его сложности. Постоянный битрейт действительно полезен, только если вы ограничены средой передачи (например, скорость жесткого диска, пропускная способность Интернета).

Выбор значения CRF - сложная часть. Это требует, чтобы вы посмотрели на вывод. Значение по умолчанию для libx264 (23) предлагает довольно хороший компромисс между размером и качеством. Но, учитывая, что ваш исходный источник уже сжат (и не очень хорошего качества по сравнению с Blu-ray), вы можете изменить 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. Это основано на субъективном просмотре данных последовательностей Ultra-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

Для получения дополнительной информации, вот соответствующие ресурсы:

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .