视频上的ffmpeg图像水印左下半部分视频和右上半部分视频



我已经玩了好几个小时了,我想不出来寻求帮助,你能帮我制定ffmpeg命令以在视频上显示水印图像吗?对于最初的半个视频,水印应该在左下角,对于剩余的半个视频,水印商店在右上角。

左下:ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2" -codec:a copy output.mp4

右上角:ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=main_w-overlay_w-5:5" -codec:a copy output.mp4

此外,我看了一下Timeoverlay ffmpeg水印的前30秒。

如何将所有这些合并并满足我上面提到的要求?

在本例中,input.mp4的持续时间为30秒。覆盖过滤器支持enable选项。

ffmpeg -i input.mp4 -i logo.png -filter_complex "overlay=(main_w-overlay_w)/2:(main_h-overlay_h)/2:enable='lte(t,15)'[bg];[bg][1]overlay=main_w-overlay_w-5:5:enable='gte(t,15)'" -codec:a copy output.mp4
  • 要获取持续时间,请参阅如何以秒为单位获取视频持续时间?。在Linux上,计算50%持续时间的一种方法是使用bc。请参阅使用ffmpeg获取视频中间帧的示例
  • 另一种方法是使用sendcmd过滤器,但它更复杂。请参阅ffmpeg中Sendcmd的示例
  • 请参阅FFmpeg Expression Evaluation中的可用函数

最新更新