FFmpeg - 将一个视频叠加到另一个视频上?

2023-12-31

我知道这是一个非常开放式的问题。我已经做了一些初步阅读FFmpeg https://www.ffmpeg.org,但现在需要一些指导。

Problem

  • 我有一个视频input.mov.
  • 我想在上面叠加另一个视频overlay.wov.
  • 结果应该是一个视频(output.mov).

Notes

  • 做了一些初步阅读FFmpeg https://www.ffmpeg.org并阅读这个问题 https://stackoverflow.com/questions/23698372/ffmpeg-overlay-video-on-top-of-another-video.

谢谢-C.

Edits

  1. 后端是 Go/Ruby。愿意使用新语言。
  2. 应保留第一个视频的音频。
  3. 设置覆盖开始的时间间隔会很棒。

目前的解决方案

ffmpeg -i input.mov -i overlay.mov -filter_complex "[0:0][1:0]overlay[out]" -shortest -map [out] -map 0:1 -pix_fmt yuv420p -c:a copy -c:v libx264 -crf 18  output.mov

然而,这几乎有效:

  • 尽管两个视频 (input.mov & overlay.mov) 的长度相同。
  • 我无法以任何时间间隔启动叠加0:00.

如果您只想要 ffmpeg 命令,请尝试

ffmpeg -i input.mov -i overlay.mov \
-filter_complex "[1:v]setpts=PTS-10/TB[a]; \
                 [0:v][a]overlay=enable=gte(t\,5):shortest=1[out]" \
-map [out] -map 0:a \
-c:v libx264 -crf 18 -pix_fmt yuv420p \
-c:a copy \
output.mov

这会在 5 秒时开始叠加,叠加视频的起始点为00:15.

setpts=PTS-10/TB is setpts=PTS+(overlay_delay-video_trim_in)/TB

overlay=enable=gte(t\,5) is overlay=enable=gte(t\,overlay_delay)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

FFmpeg - 将一个视频叠加到另一个视频上? 的相关文章

随机推荐