ฉันต้องการที่จะแสดงวิดีโอ logoon เมื่อวิดีโอเริ่ม ฉันพบคำสั่งนี้แล้ว:
ffmpeg -i input.mp4 -framerate 30000/1001 \
-loop 1 -i test.png -filter_complex "[1:v] fade=out:st=30:d=1:alpha=1 [ov];\
[0:v][ov] overlay=10:10 [v]" -map "[v]" -map 0:a -c:v libx264 \
-c:a copy -shortest Bigout.mp4
จาก วิธีเพิ่มโลโก้ของฉันใน 30 วินาทีแรกในวิดีโอด้วย ffmpeg
แต่ปัญหาคือความกว้าง / ความสูงของวิดีโอของฉันแตกต่างกันและทุกครั้งที่ฉันเพิ่มโลโก้มันไม่ครอบคลุมวิดีโอทั้งหมด ฉันควรทำอย่างไรหากฉันต้องการตั้งค่าความกว้าง / ความสูงโลโก้เป็นความกว้าง / ความสูงของวิดีโอ
อัปเดต หลังจาก @Behroozfar คำตอบฉันพยายามใช้ scale2ref โดยใช้คำสั่งด้านล่าง:
ffmpeg -i input.mp4 -framerate 30000/1001 -loop 1 -i biglogo.png -filter_complex "[1: v] [0: v] scale2ref = iw / 1: -1 [ovrl] [0v]; [ovrl] โอเวอร์เลย์ = 0: 0 [v] "-map" [v]; [1: v] จาง = out: st = 2: d = 1: alpha = 1 [ov] "-map 0: a -c : v libx264 -c: สำเนา -shortest Bigout.mp4
แต่คำถามคือฉันไม่สามารถแสดงโลโก้เพียงหนึ่งวินาที มีอยู่ระหว่างการเล่นวิดีโอทั้งหมด