【问题标题】:Concat 2 videos preserving audio timestamp and add overlay (watermark) in single ffmpeg commandConcat 2 视频保留音频时间戳并在单个 ffmpeg 命令中添加覆盖(水印)
【发布时间】:2017-03-21 16:05:19
【问题描述】:

我需要使用 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,也不精通音频和视频术语,因此对于可能存在的可怕误解,我深表歉意。

提前致谢。

【问题讨论】:

    标签: audio video ffmpeg


    【解决方案1】:

    使用

    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 方法。在这种情况下,它是 concat 过滤器。此过滤器要求两个视频具有相同的分辨率和宽高比。

    首先将水印覆盖在第二个视频上,然后将该结果与第一个视频的 A/V 和第二个视频的 A 一起馈送到 concat。

    【讨论】:

    • 谢谢。上面的代码给了我这个错误:“为“concat”过滤器指定了太多输入。初始化复杂过滤器时出错。无效参数”
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-07-13
    • 2014-09-08
    • 1970-01-01
    • 1970-01-01
    • 2018-10-10
    • 1970-01-01
    • 2021-03-14
    相关资源
    最近更新 更多