可以使用以下命令实现:

ffmpeg -i input1.mp4 -i input2.mp4
-i watermark.png
-filter_complex "[0:v]scale=1280:720[v0];
[1:v]scale=1280:720[v1];
[v0][2:v]overlay=10:10,format=yuv420p[vo];
[v1][2:v]overlay=10:10,format=yuv420p[vo1];
[vo][vo1]xfade=transition=fade:duration=1:offset=5[outv]"
-map "[outv]" -map 0:a -map 1:a
-c:v libx264 -preset ultrafast -c:a copy
output.mp4

解释一下命令:

  • -i input1.mp4 -i input2.mp4 -i watermark.png 分别表示输入的两个视频和水印图片。
  • [0:v]scale=1280:720[v0] 表示对第一个视频进行尺寸缩放,输出为 v0。
  • [1:v]scale=1280:720[v1] 表示对第二个视频进行尺寸缩放,输出为 v1。
  • [v0][2:v]overlay=10:10,format=yuv420p[vo] 表示将 v0 和水印图片进行叠加,输出为 vo。
  • [v1][2:v]overlay=10:10,format=yuv420p[vo1] 表示将 v1 和水印图片进行叠加,输出为 vo1。
  • [vo][vo1]xfade=transition=fade:duration=1:offset=5[outv] 表示将 vo 和 vo1 进行过渡效果叠加,输出为 outv。transition 表示过渡效果类型,这里是淡入淡出;duration 表示过渡效果持续时间,这里是 1 秒;offset 表示第二个视频开始过渡的时间点,这里是 5 秒。
  • -map "[outv]" -map 0:a -map 1:a 表示选择输出视频流和两个输入视频的音频流。
  • -c:v libx264 -preset ultrafast -c:a copy 表示视频编码为 H.264,使用 ultrafast 编码速度最快,音频流不需要重新编码,直接复制原始流。
  • output.mp4 表示输出的视频文件名为 output.mp4。
ffmpeg输入两个视频 一个png水印 先修改分辨率再使用xfade添加过渡效果最后在拼接一个视频保留两个视频各自的音频 使用一条命令

原文地址: https://www.cveoy.top/t/topic/buaS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录