Почему мои MP3-файлы имеют одинаковый размер, даже если я изменяю битрейт с помощью ffmpeg?

2656
Arlen Beiler

Я преобразовал аудиопоток в 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" 
25

1 ответ на вопрос

52
slhck

Потому что вы устанавливаете, -q:aкоторый является настройкой VBR LAME. При использовании -q:aнастройка CBR ( -b:a) не будет действовать.

Если вы загляните в руководство по кодированию MP3 из вики FFmpeg, вы найдете возможные значения -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); } } 
4 минуты, чтобы найти источник. +1 Jonas Schäfer 10 лет назад 28
Я задавался вопросом, если это не так! Большое спасибо. Arlen Beiler 10 лет назад 0