Concat 2视频保留音频时间戳并在单个ffmpeg命令中添加叠加(水印)

时间:2017-03-21 16:05:19

标签: audio video ffmpeg

我需要用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,也不熟悉音频和音频。视频术语,所以我为可能的可怕误解道歉。

提前致谢。

1 个答案:

答案 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一起送入连续。