代码之家  ›  专栏  ›  技术社区  ›  cclloyd

ffmpeg vp9未设置恒定质量

  •  0
  • cclloyd  · 技术社区  · 8 年前

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

    我用的是最新的ffmpeg:docker。

    1 回复  |  直到 8 年前
        1
  •  1
  •   Gyan    8 年前

    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