ตัวเข้ารหัส aac ของ ffmpeg ต้องการบิตเรตเสียงหรือไม่


3

จะเกิดอะไรขึ้นหากคุณไม่ได้ตั้งค่าบิตเรตเสียงในโปรแกรมเข้ารหัส aac

-ab 128k

มันเลือกบิตเรตที่สูงที่สุดโดยอัตโนมัติหรือสิ่งที่ฉันอยากรู้ถ้าฉันควรทำสิ่งนี้หรือถ้ามันจะไม่ดีฉันไม่เห็นความแตกต่าง


ทำไมคุณไม่ลองดูล่ะ ffmpeg -i outputfileและแล้วสำหรับไฟล์ที่ส่งออกทำ มันจะบอกคุณว่าบิตเรตของเสียงอยู่ที่ใด ไม่มีการเข้ารหัสdetectsบิตเรตที่เข้ามามันเพิ่งตกสู่ค่าเริ่มต้น
— Rajib

คำตอบ:


6

มันขึ้นอยู่กับตัวเข้ารหัส AAC ทั้งหมดที่คุณใช้ ffmpeg สามารถใช้ตัวเข้ารหัส AAC หลายตัว:

  • aac (ffmpeg-internal) - ค่าเริ่มต้นคือ 128 kBit / s สำหรับทั้งโมโนและสเตอริโอ
  • libfdk-aac - ค่าเริ่มต้นคือ 128 kBit / s สำหรับสเตอริโอและ 96 kBit / s CBR สำหรับโมโน

aacโดยทั่วไปแล้วคุณควรเลือกบิตเรตที่สูงกว่าค่าเริ่มต้นสำหรับ นี่เป็นเพราะมันให้คุณภาพค่อนข้างต่ำกว่าlibfdk-aacที่บิตเรตเดียวกัน ทำได้โดยการตั้งค่าที่เหมาะสมเช่น-b:a-b:a 192k

ฉันพยายามสรุปตัวเลือก VBR บนหน้าแรกของฉันและFFmpeg Wikiมีข้อมูลที่ดีเกี่ยวกับการเข้ารหัส AAC รวมถึงคำสั่งตัวอย่าง

นอกจากนี้เมื่อคุณเห็นบรรทัดที่คล้ายกับสิ่งนี้ในเอาต์พุตบันทึกของ ffmpeg:

Stream #0:0: Audio: aac (libfdk_aac) (mp4a / 0x6134706D), … 96 kb/s

จากนั้นkb/sภาพที่แสดงที่นี่ไม่จำเป็นต้องสะท้อนให้เห็นถึงสิ่งที่ตัวเข้ารหัสจะใช้จริง ๆ เพราะมันขึ้นอยู่กับการใช้งานเฉพาะ


นอกจากนี้ยังมีตัวเข้ารหัสบางตัวที่ไม่รองรับ ffmpeg อีกต่อไป:

  • libfaac- เริ่มต้นการตั้งค่า VBR 100 ซึ่งส่งผลให้ประมาณ 128 kBit / s สำหรับเสียงสเตอริโอ ( อ้างอิง )
  • libvo-aacenc - ค่าเริ่มต้นคือ 128 kBit / s สำหรับทั้งแบบโมโนและสเตอริโอ
  • libaacplus

ขอบคุณดังนั้นบิตเรตที่แนะนำคืออะไรฉันควรใช้กับ aac ก่อนที่ฉันจะตั้งเป็น -ab 192k และฉันยังคงได้รับข้อผิดพลาดความสูงความกว้าง bit_rate สิ่งที่น่ารำคาญ
— C0nw0nk

1
บิตเรตที่แนะนำจะขึ้นอยู่กับแอปพลิเคชันของคุณและตัวเข้ารหัสที่คุณใช้ สำหรับวิดีโอบนเว็บคุณอาจต้องการ 128 kBit / s แต่ไม่มาก สำหรับการฟังเพลงฉันจะสูงกว่านั้น สำหรับตัวเข้ารหัส AAC ภายใน 192 kBit / s นั้นมีคุณภาพดีมาก แต่ฉันไม่ทราบว่าข้อผิดพลาด "bit_rate width height" คืออะไร หากนั่นคือปัญหาที่แท้จริงของคุณคุณควรถามคำถามใหม่เกี่ยวกับข้อผิดพลาดและแสดงเอาต์พุตบรรทัดคำสั่งที่ยังไม่เสร็จสมบูรณ์จาก ffmpeg
— slhck

ยกเว้นว่าเป็นคำถามที่คุณถามไว้แล้ว: superuser.com/questions/805196/… - คุณได้รับคำตอบที่ดีอยู่แล้ว
— slhck

ขอบคุณฉันตั้งให้เป็น -ab 128k และฉันจะรอและดูว่าข้อผิดพลาดที่เคยกลับมา
— C0nw0nk

-1

Libfaac ตั้งค่าบิตเรตเริ่มต้น 128k สำหรับอินพุตสเตอริโอและ 96k สำหรับโมโน


OP กำลังพูดถึง "ffmpeg's aac encoder" ไม่ใช่ FAAC
— slhck

จริง แต่ถ้าฉันไม่ได้ระบุตัวเข้ารหัส libFAAC เป็นค่าเริ่มต้น อาจเป็นเพียงวิธีการสร้าง ffmpeg ของฉัน
— stib

ใช่นั่นคือสมมติว่า ffmpeg สร้างขึ้นด้วย libfaac ในการกำหนดค่าเริ่มต้นจะไม่สามารถแปลงเป็น AAC เนื่องจากตัวเข้ารหัส AAC ภายในจำเป็นต้องมีการ-strict experimentalตั้งค่าสถานะ
— slhck
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.