合并音频和视频,并在其上添加一个覆盖与FFMpeg



我正在用Python编写一个简单的脚本,从带有mp3的静态图像制作视频,并在其上添加一个覆盖层。这个叠加是一个视频,透明或黑色(屏幕),例如一个移动的标志。

叠加时间为5分钟。我所有的mp3都在5分钟以内(通常是2-3分钟),所以视频应该有音频的持续时间,而不是叠加。覆盖的大小总是1920x1080,以及我的图像,所以我不需要处理分辨率。

我使用原始的FFMpeg命令来实现它,但我坚持filter_complex的东西,为了添加覆盖。这些文件看起来太复杂了,我看不懂。以下是我的文件:

ffmpeg -r 25 -loop 1 -i nature.jpg -i nature_sound.mp3 -acodec copy 
-shortest -pix_fmt yuv420p nature_video.mp4

如何在nature.jpg顶部添加MP4视频叠加,整个视频只有nature_sound.mp3的声音?我想学习那些复杂的过滤器,如果有人能帮助我一些细节,这将是伟大的!谢谢你。

(更新命令)

ffmpeg -r 25 -loop 1 -i ./nature.jpg -i ./overlay.mp4 -i nature_sound.mp3 
-filter_complex "[1]setsar=sar=1,format=rgba [video]; [0][video]blend=all_mode=screen[out]" 
-map [out] output.mp4

应该像这样简单:

ffmpeg ... -i nature.jpg -i nature_sound.mp3 -i overlay.mp4 
-filter_complex [0:v][2:v]overlay ...

最新更新