Даунскейлинг VP9 с 4K до 1080p без повторного сжатия

У меня есть видеофайл, который представляет собой масштабирование видео 1080p в VP9 до 4K (увеличено до 4K, чтобы заставить Youtube использовать более высокий битрейт для видео).

Я хочу уменьшить масштаб видеофайла 4K до 1080p, при этом (эффективно) не теряя данных, т. е. не принуждая к повторному сжатию готового продукта.

Я не знаком с VP9, ​​поэтому не уверен, имеет ли это вообще смысл в контексте работы кодека, но любой совет будет полезен.

Обратите внимание: если бы это привело к уменьшению размера файла, даже если оно незначительное, то это было бы идеально.

1 ответ

Для уменьшения масштаба требуется использование фильтра масштабирования , а для фильтрации требуется кодирование.

Параметры:

  • допускайте некоторую потерю качества (но вы можете этого не заметить)
  • используйте кодировщик без потерь (гигантские файлы, возможно, это не то, что вам на самом деле нужно)
  • используйте плеер для уменьшения масштаба во время воспроизведения

Примите некоторую потерю качества

Просто предоставьте достаточно битов, и вы можете этого не заметить. Предполагая, что вам нужен вывод VP9, ​​пример использования произвольного значения:

      ffmpeg -i input.webm -vf "scale=-2:1080" -c:v libvpx-vp9 -crf 20 -b:v 0 -c:a copy output.webm

Регулировать-crfпо мере необходимости. Чем ниже, тем лучше качество.

См. .

Использование кодировщика без потерь

Предполагая, что вам нужен вывод VP9:

      ffmpeg -i input.mp4 -vf "scale=-2:1080" -c:v libvpx-vp9 -lossless 1 -c:a copy output.webm

Это создаст файл огромного размера.

См. FFmpeg Wiki: VP9FFmpeg Wiki: VP9.

Используйте плеер

Это будет использовать игрока по имениffplayдля уменьшения масштаба во время игры. Выходной файл не создается.

      ffplay -vf scale=-2:1080 input.webm
Другие вопросы по тегам