ฉันต้องการรวมไฟล์เสียง (.wav หรือรูปแบบ. au) กับไฟล์วิดีโอ (รูปแบบ. mp4)
โปรดแนะนำวิธีการทำสิ่งนี้ให้สำเร็จ ฉันต้องการรวมไฟล์เหล่านี้เข้ากับไฟล์วิดีโอ. mp4 ใหม่ คำสั่ง ffmpeg จะยินดีมาก
ฉันต้องการรวมไฟล์เสียง (.wav หรือรูปแบบ. au) กับไฟล์วิดีโอ (รูปแบบ. mp4)
โปรดแนะนำวิธีการทำสิ่งนี้ให้สำเร็จ ฉันต้องการรวมไฟล์เหล่านี้เข้ากับไฟล์วิดีโอ. mp4 ใหม่ คำสั่ง ffmpeg จะยินดีมาก
คำตอบ:
ดูตัวอย่างนี้นำมาจากรายการบล็อกนี้แต่อัปเดตสำหรับไวยากรณ์ที่ใหม่กว่า มันควรเป็นสิ่งที่มีผลต่อ:
ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental output.mp4
ที่นี่เราสันนิษฐานว่าไฟล์วิดีโอยังไม่มีสตรีมเสียงใด ๆ และคุณต้องการมีรูปแบบเอาต์พุตเดียวกัน (ที่นี่ MP4) เป็นรูปแบบอินพุต
คำสั่งข้างต้นแปลงรหัสเสียงเนื่องจาก MP4 ไม่สามารถส่งกระแสข้อมูลเสียง PCM ได้ คุณสามารถใช้ตัวแปลงสัญญาณเสียงที่ต้องการอื่น ๆ ได้ถ้าต้องการ ดูคู่มือการเข้ารหัส AACสำหรับข้อมูลเพิ่มเติม
หากกระแสข้อมูลเสียงหรือวิดีโอของคุณยาวขึ้นคุณสามารถเพิ่ม-shortest
ตัวเลือกเพื่อให้ ffmpeg หยุดการเข้ารหัสเมื่อไฟล์เดียวจบ
หากคอนเทนเนอร์ที่ส่งออกของคุณสามารถจัดการ (เกือบ) ตัวแปลงสัญญาณใด ๆ - เช่น MKV - จากนั้นคุณสามารถคัดลอกทั้งกระแสข้อมูลเสียงและวิดีโอ:
ffmpeg -i video.mp4 -i audio.wav -c copy output.mkv
หากวิดีโออินพุตของคุณมีเสียงอยู่แล้วและคุณต้องการแทนที่คุณต้องบอก ffmpeg ว่าจะให้สตรีมเสียงใดใช้:
ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental \
-map 0:v:0 -map 1:a:0 output.mp4
map
ตัวเลือกทำให้ ffmpeg เพียงใช้สตรีมวิดีโอครั้งแรกจากอินพุตแรกและสตรีมเสียงแรกจากการป้อนข้อมูลที่สองสำหรับไฟล์ที่ส่งออก
ffmpeg -i audio.wav -i video.mp4 -acodec copy -vcodec copy -f mkv output.mkv
เนื่องจากฉันไม่ได้รับอนุญาตให้เขียนความคิดเห็นต่อคำตอบแรกที่มีชื่อเสียงของฉันภาคผนวกที่นี่เพราะฉันมีปัญหานี้เมื่อเข้ารหัส webms
หากสตรีมเสียงของคุณยาวกว่าสตรีมวิดีโอคุณจะต้องตัดมันมิฉะนั้นคุณจะมีเฟรมวิดีโอสุดท้ายเป็นภาพนิ่งและเสียงที่กำลังรัน
หากต้องการตัดกระแสข้อมูลคุณสามารถใช้ -ss [hh: mm: ss] -t [ss] หน้าแต่ละไฟล์ -i "file.ext"
-ss [... ] จะกำหนดจุดเริ่มต้นที่จะตัด
-t [... ] จะกำหนดความยาวของส่วนในหน่วยวินาที
ตัวอย่าง:
ffmpeg.exe -ss 00:00:10 -t 5 -i "video.mp4" -ss 0:00:01 -t 5 -i "music.m4a" -map 0:v:0 -map 1:a:0 -y out.mp4
-shortest
เพื่อตัดปลาย
เปิดคำสั่ง promt (windows + r -> cmd-> enter)
- จากนั้นไปที่โฟลเดอร์ที่คุณมีไฟล์เสียงและวิดีโอ
ใช้ cmd นี้
ffmpeg -i "videoFile.mp4" -i "audioFile.mp3" -shortest outPutFile.mp4
ป้อน .... คุณจะได้รับไฟล์ใหม่ชื่อ outPutFime.mp4 (ไฟล์ที่รวมเสียงและวิดีโอ)
-shortest
แท็กนั้นดีมาก ง่ายกว่าคำตอบของ @ user136036
สิ่งนี้ใช้ได้กับฉัน:
ffmpeg.exe -i AudioT.m4a -i VideoT.mp4 -acodec copy -vcodec copy muxed.mp4
ลองใช้ mencoder (ใช่แล้วมันใช้ ffmpeg แล้วแต่คุณไม่รู้) ฉันใช้-audiofile
อาร์กิวเมนต์ แต่โดยทั่วไปฉันใช้ ffmpeg ดังนั้นควรทำตามคำแนะนำนี้ด้วยเกลือเล็กน้อย
และถ้าคุณใช้ Windows, Mediacoder (ไม่ใช่โอเพ่นซอร์สอีกต่อไปเศร้า) ทำงาน ... มันเป็นส่วนหน้าสำหรับการเข้ารหัส gnu จำนวนมากและไม่กี่คนฟรี