使用ffmpeg根据时间戳替换单帧

use*_*529 4 ffmpeg

CLI ffmpeg 是否可以以指定的间隔用另一个图像替换特定的帧?我知道如何从视频中提取所有帧,然后重新拼接为另一个视频,但如果可能的话,我希望避免此过程。

我的目标:

  • 给定一个视频文件 input.mp4
  • 给定一个 PNG 文件 image.png 并已知其恰好发生在 input.mp4 中的特定时间戳
  • 创建 out.mp4,用 image.png 替换 input.mp4 的位置

Gya*_*yan 5

基本命令是

ffmpeg -i video -i image \
       -filter_complex \
         "[1]setpts=4.40/TB[im];[0][im]overlay=eof_action=pass" -c:a copy out.mp4
Run Code Online (Sandbox Code Playgroud)

其中4.40是要替换的帧的时间戳。

  • 是否可以用它来用多个图像替换多个帧? (4认同)