ตัวเข้ารหัส 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.