ทำไมไฟล์ MP3 ของฉันถึงมีขนาดเท่ากันแม้ว่าฉันจะเปลี่ยนบิตเรตด้วย ffmpeg


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"

คำตอบ:


53

เนื่องจากคุณกำลังตั้งค่า-q:aซึ่งเป็นการตั้งค่า VBR ของ LAME เมื่อคุณใช้-q:aการตั้งค่า CBR ( -b:a) จะไม่มีผลใด ๆ

หากคุณดูที่คู่มือการเข้ารหัส MP3จาก FFmpeg wiki คุณจะพบค่าที่เป็นไปได้-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
Jonas Schäfer

ฉันสงสัยว่านั่นไม่ใช่กรณี! ขอบคุณมาก.
Arlen Beiler
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.