ffmpeg vp9 没有设置恒定的质量

ffmpeg vp9 not setting constant quality

我 运行 ffmpeg 将 4k hevc 视频转换为 vp9,但无论我使用什么设置,它总是出现可怕的质量和相同的文件大小。

命令:

ffmpeg -y -i /tmp/longsample.mkv -threads 6 -c:a libopus -c:v libvpx-vp9 -crf 30 /tmp/vp9-30.mkv
ffmpeg -y -i /tmp/longsample.mkv -threads 6 -c:a libopus -c:v libvpx-vp9 -crf 15 /tmp/vp9-15.mkv
ffmpeg -y -i /tmp/longsample.mkv -threads 6 -c:a libopus -c:v libvpx-vp9 -crf 0 /tmp/vp9-0.mkv

我在 docker 上使用 ffmpeg:latest。

ffmpeg 中的 VPx 编解码器所做的是使用视频比特率值作为上限。如果用户未设置,ffmpeg 将默认为 200 kbps。您需要重置该值以获得不受约束的 CRF 编码。

ffmpeg -y -i in.mkv -threads 6 -c:a libopus -c:v libvpx-vp9 -crf 30 -b:v 0 out.mkv

https://trac.ffmpeg.org/wiki/Encode/VP9#constantq