0

我正在运行 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。

4

1 回答 1

1

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

于 2018-05-28T05:45:28.807 回答