我需要用ffmpeg执行多个动作,问题是,为了添加水印并连接视频,我需要重新编码视频。这需要三个步骤。所以我只想用一个视频编码来做我需要的一切。
我有一个视频#1,它有音频。我也有一个视频#2,也有音频。我想连续#1和#2(或先#1然后#2播放),然后在#2中为视频的其余部分添加水印,保留音频时间戳。
我已经搜索了很多网络,到目前为止我得到了这个:
ffmpeg -i Video1.mp4 -itsoffset 4 -i Video2.mp4 -i watermark.png -filter_complex "overlay=5:5" -codec:v libx264 -crf 21 -bf 2 -flags +cgop -pix_fmt yuv420p -codec:a aac -strict -2 -b:a 384k -r:a 48000 -movflags faststart Out.mp4
视频#2的声音消失了,没有水印。
我并不精通ffmpeg,也不熟悉音频和音频。视频术语,所以我为可能的可怕误解道歉。
提前致谢。
答案 0 :(得分:2)
使用
ffmpeg -i Video1.mp4 -i Video2.mp4 -i watermark.png
-filter_complex
"[1][2]overlay=5:5[v2];
[0][0:a][v2][1:a]concat=n=2:v=1:a=1"
-c:v libx264 -crf 21 -c:a aac -b:a 384k -ar 48000 -movflags +faststart Out.mp4
要将视频连接在一起,必须使用其中一种连接方法。在这种情况下,它是concat过滤器。此滤镜要求两个视频具有相同的分辨率和宽高比。
首先将水印覆盖在第二个视频上,然后将该结果与第一个视频的A / V和第二个视频A一起送入连续。