ฉันจะต่อหรือรวมไฟล์ MP4 อย่างน้อย 2 ไฟล์เข้าด้วยกันในไฟล์ MP4 สุดท้ายได้อย่างไร
ฉันได้ลองในหน้าต่าง DOS เพื่อใช้คำสั่ง COPY (ฉันอ่านมันที่ไหนสักแห่ง) แต่มันใช้งานไม่ได้
ฉันจะต่อหรือรวมไฟล์ MP4 อย่างน้อย 2 ไฟล์เข้าด้วยกันในไฟล์ MP4 สุดท้ายได้อย่างไร
ฉันได้ลองในหน้าต่าง DOS เพื่อใช้คำสั่ง COPY (ฉันอ่านมันที่ไหนสักแห่ง) แต่มันใช้งานไม่ได้
คำตอบ:
mp4box สามารถทำเช่นนี้ แต่คุณอาจต้องการที่จะใช้ GUI สำหรับมันเหมือนYAMBหรือฉัน mp4box GUI (หมายเหตุ: ไม่ใช่โปรแกรมของฉันเป็นการส่วนตัวนั่นเป็นเพียงชื่อ) ไฟล์ไบนารีของ MP4Box สำหรับ Windows นั้นมีให้จากเว็บไซต์นี้
ตัวอย่าง:
MP4Box -tmp $HOME -add vid.01.m4v \
-cat vid.02.m4v -cat vid.03.m4v vid-out.mp4
ผมขอแนะนำ usind ffmpegซึ่งสามารถใช้ได้สำหรับ Mac OS X, Linux และของ Windows
ต่อไปนี้เป็นตัวอย่างที่ดีเกี่ยวกับวิธีการต่อภาพยนตร์สองเรื่องเข้าด้วยกัน: http://www.ffmpeg.org/faq.html#SEC27
ในขั้นตอนสุดท้ายคุณต้องทำให้แน่ใจว่าคุณสร้างคอนเทนเนอร์ MP4 สำหรับไฟล์ผลลัพธ์
คุณสามารถลองทำสิ่งนี้กับ ffmpeg:
mkfifo temp0 temp1
ffmpeg -i input0.mp4 -c copy -bsf h264_mp4toannexb -f mpegts -y temp0 2> /dev/null & \
ffmpeg -i input1.mp4 -c copy -bsf h264_mp4toannexb -f mpegts -y temp1 2> /dev/null & \
ffmpeg -f mpegts -i "concat:temp0|temp1" -c copy -absf aac_adtstoasc output.mp4
สิ่งนี้ไม่ได้เข้ารหัสสิ่งใดใหม่ แต่วางไว้ในคอนเทนเนอร์สตรีมการส่งข้อมูลใหม่ซึ่งทำให้พวกเขาเชื่อมต่อได้ง่ายขึ้นจากนั้นเชื่อมต่อพวกเขากลับเป็น MP4 หาก output.mp4 มีอยู่แล้วคำสั่งจะล้มเหลว รุ่นข้างต้นใช้ชื่อ pipes คุณอยู่ในระบบที่ไม่รองรับไฟล์ที่คุณต้องใช้ไฟล์ระดับกลาง:
ffmpeg -i input0.mp4 -c copy -bsf h264_mp4toannexb temp0.ts
ffmpeg -i input1.mp4 -c copy -bsf h264_mp4toannexb temp1.ts
ffmpeg -i "concat:temp0.ts|temp1.ts" -c copy -absf aac_adtstoasc output.mp4
อัปเดต: เพียงตรวจสอบ avidemux ตามที่ฉันติดตั้งไว้หลังจากอ่านคำตอบอื่น ๆ มันคือสิ่งที่คุณกำลังมองหา (ไม่คิดว่ามันจะทำได้ MP4 เพราะชื่อของมัน ... )
ฉันคิดว่า VirtualDubMod นั้นสามารถใช้งานกับ mp4 ได้ แต่ฉันไม่ได้ใช้มันดังนั้นฉันจึงไม่แน่ใจ
คุณอาจต้องการที่จะตรวจสอบMeGUI มันเป็นแอพและเครื่องมือที่ค่อนข้างซับซ้อนและเต็มไปด้วยคุณสมบัติ
เครื่องมือสำหรับการฝังในคอนเทนเนอร์ (mp4 ในกรณีของคุณ) เรียกว่า muxer ซึ่งอาจไม่สามารถต่อกันได้
คุณสามารถใช้ร่วมกับ VirtualDub Virtualdub เชื่อมต่อสตรีมวิดีโอและ muxer เพื่อให้ mp4 อีกครั้ง (โดยไม่ต้องเข้ารหัส)
ฉันทำกับ mencoder หลังจากแปลงให้เป็น avi ด้วย ffmpeg
นี่เป็นสคริปต์อย่างง่ายโดยสมมติว่าคุณมี 15 ไฟล์ชื่อ 01.mp4 ... 15.mp4
#!/bin/bash
for j in `seq -w 1 15`;
do
echo converting file $j.avi
ffmpeg -i $j.mp4 $j.avi
echo adding file $j.avi to list
z="$z $j.avi"
done
echo doing append
mencoder -oac copy -ovc copy $z -o all.avi
ไชโย
นี่คือคำสั่ง:
ffmpeg -i concat:"video1.ts|video2.ts"