ฉันจะแปลงเป็น AAC ได้อย่างไร
นี่คือคำสั่ง FFmpeg พื้นฐานที่สุดในการแปลงอินพุตเป็นเสียง AAC โดยใช้คุณภาพสูงสุด AAC FFmpeg libfdk_aac
เป็นตัวเข้ารหัส Fraunhofer AAC และจะสามารถใช้ได้เมื่อคุณรวบรวม FFmpeg ด้วยการสนับสนุน
ffmpeg -i input.mp3 -c:a libfdk_aac output.m4a
ในการเปลี่ยนคุณภาพคุณมีสองทางเลือกดังนี้
สำหรับตัวแปรบิตเรต (VBR) ให้ใช้-vbr
ตัวเลือก ตัวอย่างเช่น-vbr 4
เป็นตัวเลือกที่ดี (ประมาณ 128 kBit / s สำหรับเสียงสเตอริโอ) สูงกว่าหมายถึงดีกว่า ค่ามีตั้งแต่ 1 ถึง 5
ffmpeg -i input.mp3 -c:a libfdk_aac -vbr 4 output.m4a
สำหรับอัตราบิตคงที่ (CBR) ให้ใช้ตัวเลือกเช่น-b:a
-b:a 128k
128 kBit / s ควรจะดีพอสำหรับสถานการณ์ส่วนใหญ่ คุณสามารถเลือกบางสิ่งบางอย่างที่ต่ำกว่าเช่นกัน
ffmpeg -i input.mp3 -c:a libfdk_aac -b:a 128k output.m4a
คุณยังสามารถใช้ HE-AAC (v1 / v2) แทนโปรไฟล์ AAC-LC เริ่มต้น (ความซับซ้อนต่ำ) ซึ่งเหมาะที่สุดสำหรับบิตเรตต่ำ:
ffmpeg -i input.mp3 -c:a libfdk_aac -profile:a aac_he_v2 -b:a 32k output.m4a
เกิดอะไรขึ้นถ้าฉันไม่ได้libfdk_aac
?
FFmpeg บางรุ่นไม่มีlibfdk_aac
(สำหรับเหตุผลด้านลิขสิทธิ์) หากเป็นเช่นนั้นคุณสามารถใช้ตัวเข้ารหัส AAC ในตัวได้:
ffmpeg -i input.mp3 -c:a aac -b:a 192k output.m4a
เครื่องเข้ารหัสนี้ไม่รองรับ VBR อย่างถูกต้องดังนั้นหากคุณต้องการหรือ HE-AAC ให้อ่าน
คุณสามารถรวบรวม ffmpeg ด้วยตัวคุณเองและเพิ่มlibfdk_aac
การสนับสนุน มีคำแนะนำอยู่ในวิกิพีเดีย FFmpeg การคอมไพล์เป็นเรื่องง่ายบน Linux, ง่ายปานกลางบน OS X และค่อนข้างยากบน Windows เมื่อคุณทำตามคำแนะนำการรวบรวมและติดตั้งห้องสมุดที่เหมาะสมก่อน FFmpeg libfdk_aac
ตอนนี้จะช่วยให้คุณเลือกที่จะใช้งาน
มีปัญหาบางอย่างกับวิธีการดั้งเดิมของคุณ:
alac
ไม่ใช่ AAC ALAC เป็นแอปเปิ้ล Lossless แปลงสัญญาณเสียงในขณะที่ AAC เป็นเสียงขั้นสูงการเข้ารหัส
นั่นเป็นสาเหตุที่ว่าทำไมเอาต์พุตของคุณมีขนาดใหญ่กว่าอินพุทเพราะตรงกันข้ามกับ MP3, ALAC ยังคงถูกบีบอัด แต่มันจะต้องไม่มีการสูญเสีย - นั่นคือสาเหตุที่มันจำเป็นต้องเก็บข้อมูลเพิ่มเติม
.aac
ไม่ใช่คอนเทนเนอร์เอาต์พุตสำหรับเสียง ALAC ถ้าคุณใช้ AAC นั่นควรจะได้ผล ฉันจะใช้ MP4 หรือ M4A แม้ว่า
-c:a
นี้มีคำพ้องความหมายหรือไม่? ฉันเดาว่ามันอาจหมายถึง-acodec:a
แต่ในที่สุดฉันก็ทิ้งมันไว้และffmpeg
สามารถอนุมานตัวแปลงสัญญาณตามชื่อไฟล์เอาต์พุตที่ต้องการ (ต้องการ-strict experimental
และโยนเข้าไปใน-map_metadata 0:0
มาตรการที่ดีเพื่อรักษาแท็ก ID3)