Cách phủ một PNG trong suốt qua video và chia tỷ lệ thành kích thước video trong FFmpeg


0

Ngay bây giờ tôi phủ một PNG trong suốt lên trên một video đầu tiên chuyển đổi cả hai thành cùng kích thước, nhưng tôi rất thích chỉ có tỷ lệ trong cùng một lệnh. Ở đây, lệnh của bây giờ:

ffmpeg -y -i video.mp4 -i overlay.png -filter_complex 'overlay[out],amix=inputs=1,pan=stereo:c0=c0:c1=c1' -map '[out]' output.mp4

Lệnh tốt nhất cũng phải cho phép video không có đoạn âm thanh và vẫn phủ lên PNG.

Câu trả lời:


0

Sử dụng

ffmpeg -y -i video.mp4 -i overlay.png
 -filter_complex "[1][0]scale2ref[i][m];[m][i]overlay[v]"
 -map "[v]" -map 0:a? -ac 2 output.mp4

Các scale2ref chia tỷ lệ đầu vào đầu tiên (cho bộ lọc) theo kích thước của giây. Các chỉ mục pad đầu vào 01 hãy tham khảo đầu vào thứ nhất và thứ 2 cho FFmpeg, vì số đó bắt đầu từ 0.

-map 0:a? - các ? nói với FFmpeg để ánh xạ âm thanh dự phòng, tức là nếu có. Tôi đã gỡ bỏ amix vì a) các bộ lọc trong tổ hợp bộ lọc không thể dự phòng và b) chỉ có một đầu vào nên không có gì để 'trộn'.


Điều này thật tuyệt - nếu tôi muốn chia tỷ lệ đầu vào thứ hai thành kích thước của đầu tiên, thì nó sẽ là [0][1]scale2ref[i][m]?
Daniel Jacob Archer
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.