ฉันอ่านเอกสารและสามารถแยกwav
ไฟล์จากmp4
ไฟล์ด้วยคำสั่ง:
ffmpeg -i my_video.mp4 output_audio.wav
อย่างไรก็ตามฉันจะควบคุมคุณภาพของwav
ไฟล์ได้อย่างไร (เช่นพูดว่าฉันต้องการรักษาคุณภาพของเสียงต้นฉบับให้มากที่สุด)
ฉันอ่านเอกสารและสามารถแยกwav
ไฟล์จากmp4
ไฟล์ด้วยคำสั่ง:
ffmpeg -i my_video.mp4 output_audio.wav
อย่างไรก็ตามฉันจะควบคุมคุณภาพของwav
ไฟล์ได้อย่างไร (เช่นพูดว่าฉันต้องการรักษาคุณภาพของเสียงต้นฉบับให้มากที่สุด)
คำตอบ:
wav
โดยปกติจะมีไฟล์เสียงที่ถูกบีบอัดและที่เป็นค่าเริ่มต้นเมื่อผลิตไฟล์โดยใช้wav
ffmpeg
ดังนั้นคำสั่งของคุณจะรักษาคุณภาพสูงสุดไว้แล้วเนื่องจากไม่มีการบีบอัดแบบ lossy (หรือการบีบอัดใด ๆ ) เพื่อลดคุณภาพ
สมมติว่าเสียงต้นฉบับถูกบีบอัดคุณสามารถรักษาคุณภาพเดิมไว้ได้โดยไม่ต้องมีไฟล์ขนาดใหญ่สำหรับเสียงที่ไม่ได้บีบอัดโดยเพียงแค่คัดลอกไฟล์เสียงต้นฉบับ (โดยไม่มีวิดีโอ) ไปยังmp4
ไฟล์ใหม่:
ffmpeg -i my_video.mp4 -c copy -map 0:a output_audio.mp4
คุณสามารถเข้ารหัสอีกครั้งหรือแปลงเป็นตัวแปลงสัญญาณเสียงที่แตกต่างกัน แต่ถ้าตัวแปลงสัญญาณนั้นใช้การบีบอัดแบบสูญเสียคุณภาพจะหายไป
wav
ไฟล์เป็นเพียงอัตราตัวอย่าง × ขนาดของกลุ่มตัวอย่าง × จำนวนช่อง หากคุณต้องการลดคุณภาพคุณสามารถขอffmpeg
ให้ทดลองใช้ในอัตราที่ต่ำกว่าให้เปลี่ยนเป็น 8 บิต PCM หรือดาวน์มิกซ์เป็นขาวดำ แต่ไม่ได้ทำตามค่าเริ่มต้น
-acodec copy
แทน-c copy -map 0:a
แยกเสียง Lossless / Lossy จากวิดีโอ ( flv / mp4 to wav / flac / mp3
) ใช้ffmpeg
รุ่น 2.3.1 ใน Ubuntu 14.04
เยี่ยมชม: http://howto-pages.org/ffmpeg/
ก่อนอื่นให้ค้นหาข้อมูลพื้นฐานจากแหล่งที่มา เปิดวิดีโอใน VLC Player ไปที่
> Tools > Codec Information
> Stream 0 (Video/ Codec/ Resolution/ Frame rate)
> Stream 1 (Audio/ Codec/ Channel/ Sample rate)
พิจารณาไฟล์อินพุต ( -i
) เช่นinput.mp4
หรือไฟล์อื่น ๆflv, avi, ...
) ในการลบวิดีโอ ( -vn
) และยกเลิกการบีบอัดสัญญาณเสียง ( output.wav
) ที่อัตราตัวอย่าง 44100 Hz ( -ar 44100
) ในรหัสชีพจรที่ปรับด้วยตัวอย่างที่ลงชื่อ, 16 บิต, endian น้อย ( -acodec pcm_s16le
) และ 2 ช่องสัญญาณ (สเตอริโอ) ( -ac 2
) ใช้คำสั่งต่อไปนี้
ffmpeg -i input.mp4 -vn -acodec pcm_s16le -ar 44100 -ac 2 output.wav
อื่น ๆมีตัวเลือก-acodec
mp3 flac m4a
-acode flac
แปลงเป็นไฟล์ 24 บิต สำหรับการสุ่มตัวอย่าง 16 บิตควรจะเป็น
ffmpeg -i input.mp4 -acodec flac -bits_per_raw_sample 16 -ar 44100 output.flac
ไฟล์ wav และ flac มีขนาดใหญ่กว่าไฟล์ mp4
ac3
การแปลงใช้งานได้-acodec 3F2R/LFE -ac 6
แต่ creats dummy แทร็ค 4 แทร็กตามที่ตรวจสอบใน Audacity
สำหรับการแปลง mp3 เพียงใช้
ffmpeg -i input.mp4 -vn -acodec mp3 -ab 320k -ar 44100 -ac 2 output.mp3
หนึ่งสามารถรับตัวเลือกเพิ่มเติมสำหรับทั้งอินพุตและเอาต์พุตโดยลองจากรายการที่ได้รับจากบรรทัดคำสั่งบนเทอร์มินัล
$ ffmpeg -help
Unknown encoder 'pcm_s161e'
กรุณาให้คำแนะนำเกี่ยวกับวิธีการที่อยู่นี้