我正在尝试用图片(png)给视频加水印。水印效果很好。但是我没有音频
ffmpeg -i video.mp4 -loop 1 -i watermark_template_bottom.png -i watermark_template_top.png -filter_complex [1:0]fade=in:st=0:d=2:alpha=1,fade=out:st=14:d=2:alpha=1[v_0];
[1:0]fade=in:st=28:d=2:alpha=1,fade=out:st=42:d=2:alpha=1[v_1];
[1:0]fade=in:st=56:d=2:alpha=1[v_2];[v_0][v_1]overlay[ovl_0];[ovl_0][v_2]overlay[ovl_1];
[ovl_1][2:0]overlay[end];[0:0] [end]overlay=eof_action=pass[out] -map [out] out.mp4
我的代码有问题吗?
答案1
消除-map [out]
或者添加-map 0:a
。通过设置一个映射,默认自动映射被禁用,因此只处理明确映射的流。
-acodec copy
如果您不想重新编码音频,您可以添加。
答案2
添加-acodec copy
到您的命令中复制音频流。
https://ffmpeg.org/ffmpeg.html#Stream-copy
流复制是通过向 -codec 选项提供复制参数来选择的模式。它使 ffmpeg 省略指定流的解码和编码步骤,因此它只执行解复用和复用。它对于更改容器格式或修改容器级元数据很有用。