ffmpeg - 结合具有特定持续时间的多个视频

标签 ffmpeg

我将连接多个视频,以便我可以使用 FFmpeg 获得一个视频文件。
我找到了几种方法来实现这一点,但我发现的所有方法都不能与每个视频的特定持续时间相结合。
这意味着他们只连接整个视频。
确切地说,我想要的是在特定时间将 video1 插入到 video2 中。在搜索与此相关的几篇文章时,我检查了许多文章说“ffmpeg 不可能”。
所以我试图将video2分成两个视频(如video2-1,video2-2)和concat video1,video2-1,video2-2。

最佳答案

您可以做的是在过滤器复合体中使用 trim 和 atrim 。
例子

ffmpeg -i vid1.mp4 -i vid2.mp4 -filter_complex "[0:v]trim=0:2,setpts=PTS-STARTPTS[v1];[1:v]trim=3:6,setpts=PTS-STARTPTS[v2];[0:a]atrim=0:2,asetpts=PTS-STARTPTS[a1];[1:a]atrim=3:6,asetpts=PTS-STARTPTS[a2];[v1][a1][v2][a2]concat=n=2:v=1:a=1" out.mp4
这会将 vid1 从 0 减少到 2 并将 vid2 从 3 减少到 6 并将它们组合在一起。

关于ffmpeg - 结合具有特定持续时间的多个视频,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63351950/

相关文章:

php - FFMPEG 500 内部服务器错误

ffmpeg - 创建一个 Discord Bot 来播放 .mp3 文件

node.js - 使用 NodeJS 在本地保存部分视频文件

node.js - 在谷歌 App Engine : An error occurred: ffmpeg was killed with signal SIGABRT Error: ffmpeg was killed with signal SIGABRT 上部署

ffmpeg - 突出显示的部分代表什么?

python - 使用ffprobe在python中查找视频文件长度时如何解决文件路径错误?

ffmpeg - 使用 FFMPEG 将流覆盖混合到第二个流上

FFmpeg - 将 FLAC 6.1 缩混到 AAC 5.1

video - 使用 HEVC HM 解码器引用 HEVC 文件解码

ffmpeg - libx264 编码器是否支持 yuv444p12le 等 12 位像素格式?