询问后这个问题,有人建议,执行此操作的最佳方法是使用此命令缩放图像。
ffmpeg -i image.jpeg -i word.mp4 -filter_complex "scale2ref[img][vid];[img]setsar=1;[vid]nullsink" -q:v 2 new.jpg
此时我有点困惑如何将 覆盖video.mp4
在 上new.jpg
。我确定我需要运行第二个 ffmpeg 命令,类似于这个
ffmpeg -i video.mp4 -i new.jpg -filter_complex "[0:v]scale=1280:720:force_original_aspect_ratio=decrease[fg];[1][fg]overlay=(W-w)/2:(H-h)/2" output.mp4
但是我相信这个命令正在缩放视频,即使我之前刚刚缩放了图像,而且这将是两个 ffmpeg 命令,而不仅仅是一个自动缩放图像以匹配视频的比例的命令。
这可能吗?
答案1
使用
ffmpeg -i image.jpeg -i word.mp4 -i video.mp4 -filter_complex "[0][1]scale2ref[img][vid];[img]setsar=1[img];[vid]nullsink; [img][2]overlay=(W-w)/2:(H-h)/2" output.mp4
此命令中视频不会缩放,仅会叠加在调整大小后的图像之上。