为什么即使使用ffmpeg更改了比特率,我的MP3文件大小也一样?


27

我使用基本相同的格式将音频流转换为3种不同的设置。他们最终是完全一样的大小。为什么是这样?

ffmpeg -i "Likoonl-Q1-All.mp4" -c:v copy -c:a libmp3lame -q:a 1 -b:a 192k "Q1-All-192k.mp4"
ffmpeg -i "Likoonl-Q1-All.mp4" -c:v copy -c:a libmp3lame -q:a 1 -b:a 160k "Q1-All-160k.mp4"
ffmpeg -i "Likoonl-Q1-All.mp4" -c:v copy -c:a libmp3lame -q:a 1 -b:a 128k "Q1-All-128k.mp4"

Answers:


53

因为您要设置的-q:a是LAME的VBR设置。使用时-q:a,CBR设置(-b:a)将无效。

如果您查看FFmpeg Wiki上的MP3编码指南,则会发现可能的值-q:a及其相应的平均比特率。

为了完整起见,这里的相关部分libmp3lame.c- qscale是的长名字q

/* rate control */
if (avctx->flags & CODEC_FLAG_QSCALE) { // VBR
    lame_set_VBR(s->gfp, vbr_default);
    lame_set_VBR_quality(s->gfp, avctx->global_quality / (float)FF_QP2LAMBDA);
} else {
    if (avctx->bit_rate) {
        if (s->abr) {                   // ABR
            lame_set_VBR(s->gfp, vbr_abr);
            lame_set_VBR_mean_bitrate_kbps(s->gfp, avctx->bit_rate / 1000);
        } else                          // CBR
            lame_set_brate(s->gfp, avctx->bit_rate / 1000);
    }
}

28
4分钟找到源。+1
JonasSchäfer2014年

我想知道不是吗!非常感谢。
2014年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.