FFmpeg VP9 — разные параметры квантования, но одинаковые выходные файлы

Я хочу закодировать видео с помощью vp9 с разными параметрами квантования (qp=[16,20,24,28,32]). К сожалению, выходные файлы имеют одинаковую скорость передачи данных после кодирования и не показывают никаких различий в качестве.

Это мой код для qp=20:

ffmpeg -s:v 3840x1920 -framerate 30 -i video_3840x1920_30fps_8bit_420_erp.yuv -c:v libvpx-vp9 -qp 20 -f avi out.avi

Большое спасибо за любые указания, которые вы можете мне дать.


person MrTomHat    schedule 28.06.2017    source источник
comment
Я не вижу какой-либо общей или частной опции qp, применимой к vpx. Вы можете попробовать с -qmin N -qmax N.   -  person Gyan    schedule 28.06.2017
comment
НЕТ!!!!!! Никогда не используйте -qmin/-qmax с libvpx, если вы точно не знаете, что делаете. Неправильное использование -qmin/-qmax почти всегда является причиной того, что до сих пор некоторые люди считают, что vp9 (или даже av1) значительно хуже, чем x264.   -  person Ronald S. Bultje    schedule 29.06.2017


Ответы (1)


-qp работает только для внутренних кодировщиков, производных от mpegvideoenc, таких как встроенные в FFmpeg кодировщики MPEG-1/2/4. Libvpx, как и x264/5, вместо этого использует -crf. Дополнительные сведения см. в Вики. Вы также можете ввести ffmpeg -h encoder=libvpx-vp9:

$ ffmpeg -h encoder=libvpx-vp9
[..]
  -crf               <int>        E..V.... Select the quality for constant quality mode (from -1 to 63) (default -1)

Таким образом, для qp=20 вы должны использовать ffmpeg -s:v 3840x1920 -framerate 30 -i video_3840x1920_30fps_8bit_420_erp.yuv -c:v libvpx-vp9 -crf 20 -b:v 0 out.avi.

person Ronald S. Bultje    schedule 29.06.2017