Даунскейлинг 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