สแต็ควิดีโอสองรายการที่มีความกว้างต่างกัน


2

ฉันมีวิดีโอสองเรื่องที่มีความกว้างต่างกัน ฉันต้องการที่จะซ้อนหนึ่งบนอื่น ๆ โดยรักษาอัตราส่วนของตน วิดีโออันดับสูงสุดคือ 1920x1080 และวิดีโอด้านล่างคือ 3240x1080 ฉันได้ลองแล้ว:

ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex '[1][0]scale2ref[2nd][ref];[ref][2nd]vstack' -map [vid] -c:v libx264 -crf 23 -preset veryfast output.mp4

แต่ฉันได้รับ: "ผลลัพธ์ที่มีป้ายกำกับ 'vid' ไม่มีอยู่ในกราฟตัวกรองใด ๆ ที่กำหนดไว้หรือถูกนำไปใช้ที่อื่นแล้ว" ไม่แน่ใจว่าฉันทำอะไรผิดที่นี่ ...

คำตอบ:


2

ใช้

ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex '[1][0]scale2ref=iw:ow/mdar[2nd][ref];[ref][2nd]vstack[vid]' -map [vid] -c:v libx264 -crf 23 -preset veryfast output.mp4

แผ่นเอาท์พุท vstack ยังไม่มีการติดป้ายดังนั้นแผนที่จะไม่อ้างอิงถึงสิ่งใด คุณอาจจำเป็นต้องอ้างถึงค่าแผนที่ขึ้นอยู่กับเชลล์ของคุณ


ที่จริงไม่ได้โยนข้อผิดพลาด (ขอบคุณ!) แต่เอาท์พุทได้ปรับขนาดวิดีโอด้านล่างเพื่อให้ความสูงถูกยืดให้ตรงกับวิดีโอด้านบน ฉันต้องการให้วิดีโอด้านล่างเป็นอัตราส่วนเดียวกันกับที่เริ่มต้นด้วย มีการดัดแปลงอย่างง่ายเพื่อให้ใช้งานได้หรือไม่
pts2

ใช้ cmd ที่แก้ไขด้วย ffmpeg รุ่นล่าสุด
Gyan

ในกรณีที่ช่วยคนอื่นในอนาคตฉันก็อยากจะเพิ่มเสียงจากวิดีโอยอดนิยม (video1.mp4) และใส่ไว้ใน output.mp4 แบบรวม (video2.mp4 ด้านล่างไม่มีเสียง) รหัสนี้ใช้เพื่อทำสิ่งนี้ทั้งหมด: ffmpeg -i video1.mp4 -i video2.mp4 -filter_complex '[1] [0] scale2ref = iw: ow / mdar [2nd] [ref] [2nd] vstack [vid]; anullsrc [silent]; [0: a] [silent] amerge = อินพุต = 2 [a] '-map [vid] -map [a] -c: v libx264 -crf 23 -preset เอาต์พุตที่เร็วมาก
pts2

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