การใช้หลายตัวกรองและอินพุตด้วย FFmpeg


0

ฉันมีวิดีโอสองรายการ: a.mp4 และ b.mp4 ฉันต้องการปรับขนาด a.mp4 ตัด 10 วินาทีแรกและ 10 วินาทีสุดท้ายของ b.mp4 จากนั้นเพิ่มคำบรรยายลงใน b.mp4 แล้วรวมวิดีโอสองรายการ (a.mp4 หลังจากการปรับขนาดและ b.mp4 หลังจากการตัด / hardsub) เป็นหนึ่งเดียว นี่คือสคริปต์ของฉัน:

ffmpeg -i a.mp4 -i b.mp4 -filter_complex   '[0: V] ขนาด = 1280: 720 [in1] [1: V] ตัด = 0: 10 ตัด = 110: 120, ตูด = subtitle.ass [in2]; [in1] [in2] concat = n = 2: v = 1: a = 1 [ออก] '-map [ออก] -c: v libx264   output.mp4

(120 คือความยาวเป็นวินาทีของ b.mp4)

แต่มันทำให้ฉันมีข้อผิดพลาด:

ชนิดสื่อไม่ตรงกันระหว่างแผ่นเอาต์พุตตัวกรอง 'Parsed_ass_2' 0   (วิดีโอ) และแผงป้อนข้อมูลตัวกรอง 'Parsed_concat_3' 1 (เสียง)   [AVFilterGraph @ 0x406c3c0] ไม่สามารถสร้างลิงก์ ass: 0 - & gt; concat: 1

คำตอบ:


0

ใช้

ffmpeg -i a.mp4 -i b.mp4
   -filter_complex '[0:v]scale=1280:720,setsar=1[in1];
                    [1:v]ass=subtitle.ass,trim=10:110,setpts=PTS-STARTPTS,setsar=1[in2];
                    [1:a]atrim=10:110,asetpts=PTS-STARTPTS[1a];
                    [in1][0:a][in2][1a] concat=n=2:v=1:a=1 [v] [a]'
   -map [v] -map [a] -c:v libx264 output.mp4

เนื่องจากคุณกำลังเชื่อมต่อเสียงเช่นกันตัวกรองจึงคาดว่าสตรีมเสียงจะจับคู่กับสตรีมวิดีโอแต่ละรายการ


ขอบคุณสำหรับความช่วยเหลือของคุณ ฉันพยายาม แต่ได้รับข้อผิดพลาดนี้ Input link in1:v0 parameters (size 1280x720, SAR 0:1) do not match the corresponding output link in0:v0 parameters (1280x720, SAR 4757:4800) . Failed to configure output pad on Parsed_concat_8 คุณรู้หรือไม่ว่ามีปัญหาอะไร
Luvias

ดู cmd ที่แก้ไข
Gyan

คำสั่งทำงานโดยไม่มีข้อผิดพลาดใด ๆ แต่วิดีโอเอาต์พุตคล้ายกับ a.mp4 (แต่ในความละเอียด 1280: 720) ดูเหมือนว่า concat ไม่ทำงาน.
Luvias

ฉันลองคำสั่งนี้และใช้งานได้ดี ffmpeg -i a.mp4 -i b.mp4 -filter_complex '[0:v]scale=1280:720,setsar=1[in1]; [1:v]ass=subtitle.ass,trim=10:110,setpts=PTS-STARTPTS,setsar=1[in2]; [1:a]atrim=10:110,asetpts=PTS-STARTPTS[1a]; [in1][0:a][in2][1a] concat=n=2:v=1:a=1 [v] [a]' -map [v] -map [a] -c:v libx264 output.mp4
Luvias

โอ้ใช่การตัดแต่งต้องใช้ช่วงเวลาเป็น เก็บไว้ . ฉันไม่ได้รำคาญที่จะตรวจสอบว่า
Gyan
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.