Я хочу закодировать видео 4k, снятое на iPhone 6s, в VP9 с максимально возможным качеством.
Для справки, потоковые данные видео, которые я хотел бы закодировать, через ffprobe
:
Duration: 00:00:10.48, start: 0.000000, bitrate: 46047 kb/s
Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 3840x2160, 45959 kb/s, 29.98 fps, 29.97 tbr, 600 tbn, 1200 tbc (default)
Metadata:
creation_time : 2017-03-13T21:12:56.000000Z
handler_name : Core Media Data Handler
encoder : H.264
Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, mono, fltp, 79 kb/s (default)
Metadata:
creation_time : 2017-03-13T21:12:56.000000Z
handler_name : Core Media Data Handler
Я использую следующие команды FFmpeg на основе этих инструкций (см. раздел Best Quality (Slowest) Recommended Settings
).
ffmpeg -i INPUT.mov -c:v libvpx-vp9 -pass 1 -b:v 46000K -threads 4 -speed 4 -g 9999 -an -f webm -y /dev/null
ffmpeg -I INPUT.mov -c:v libvpx-vp9 -pass 2 -b:v 46000K -threads 4 -speed 0 -g 9999 -an -f webm OUTPUT.webm
Существует ли рекомендуемая практика для выбора оптимального значения -b:v
, чтобы результирующее видео было визуально неотличимо от оригинала? Я пробовал значения в диапазоне от 36000K до 46000K, но это приводит к массивным файлам с общим битрейтом, превышающим целевой битрейт.
Заранее спасибо!
-crf 20 -b:v 0
Пропустите два прохода. Протестируйте с различными значениями CRF (от 0 до 63) на коротком сегменте на входе. Как только вы нажмете значение, которое дает достаточно небольшой и достаточно хороший результат, используйте это значение. - person Gyan   schedule 06.04.2017