FFmpeg: Нужно ли масштабировать видео перед кодированием?

FFmpeg: Нужно ли масштабировать видео перед кодированием?

В настоящее время я для удобства кодирую свою коллекцию DVD.

Перед кодированием этого конкретного названия DVD я сделал несколько образцов и, воспроизводя их на телевизоре, заметил, что масштабированные (с помощью ffmpeg) видео выглядят лучше, чем исходный VOB (масштабированный с помощью телевизора).

Я предполагаю, что это связано с тем, что медиаплеер телевизора применяет менее эффективное масштабирование по сравнению с фильтром масштабирования ffmpeg.

Я не знаю, будет ли так всегда, поэтому я решил пока сохранить изначальный масштаб.

Может быть, в будущем я буду масштабировать закодированное (x264, mp4) видео, теряю ли я при этом качество? Стоит ли применять фильтр масштабирования при кодировании VOB в MP4 или масштабирование MP4 даст то же качество?

Просматривая образцы, я не увидел никакой разницы, но, возможно, я что-то упустил, так как сравнивать видео очень сложно.

решение1

Возможно, в будущем я буду масштабировать закодированное (x264, mp4) видео. Теряю ли я при этом качество?

Масштабирование — это разрушительная операция, которая изменяет видеопоток. При применении фильтра масштабирования у вас нет другого выбора, кроме как перекодировать видео. При перекодировании вы, конечно, можете сжать видео без потерь, чтобы сохранить качество, но обычно вы будете использовать кодер с потерями (например, x264 или x265) для экономии места и обеспечения совместимости с различными устройствами воспроизведения (не все телевизоры будут обрабатывать видео без потерь).

Если вы решите масштабировать видео позже, вы, по сути, дважды сожмете уже сжатое видео, а именно:

  1. Оригинальный VOB (уже закодированный для DVD)
  2. Кодировать с помощью libx264
  3. Масштабирование и перекодирование с помощью libx264

Поэтому вам нужно убедиться, что результат второго этапа достаточно хорош, чтобы «пережить» еще один этап сжатия позже.

Стоит ли применять фильтр масштабирования при кодировании VOB в MP4 или масштабирование MP4 даст то же качество?

У вас есть два варианта:

  1. Масштабируйте свои видеопокавы перекодируете их из исходных VOB. Это сэкономит время и позволит избежать еще одного шага кодирования. Убедитесь, что для двухпроходного кодирования вы выбрали правильный битрейт для вывода. Например, при масштабировании до 1080p или 720p выберите битрейт около 8–10 Мбит/с или 3–5 Мбит/с соответственно.

  2. Масштабируйте видео позже. Здесь вы можете потерять качество из-запотеря поколения, поскольку вы кодируете дважды. Если это ваш план, убедитесь, что – по крайней мере для первого шага кодирования – вы выбрали достаточно высокий битрейт или достаточно низкий постоянный фактор качества для вывода. Например, ваш первый (немасштабированный) процесс кодирования (из VOB в MP4) может использоватьоднопроходная установка с-crf 16. Это обеспечивает вывод практически без визуальных потерь.

Связанный контент