FFMpeg - 一步完成修剪和连接

FFMpeg - 一步完成修剪和连接

这个问题 回答说可以一步完成修剪和连接。这似乎是一个简单而常见的功能,但我在搜索中找不到如何做到这一点。具体来说,如果我有两个 MPEG 传输流文件,比如说和VidA.tsVidB.ts哪个 ffmpeg 命令会(例如)取出的最后 180 秒VidA并将其与的前 10 分钟合并(连接)VidBVidC.ts

(因为我认为你不能修剪最后 180 秒在不知道持续时间的情况下,假设所有输入文件的持续时间为 15 分钟;它们可能不是,但我可以做简单的数学计算。哈哈)

此外,我想知道是否有可能(使用一个命令)输出三个文件,如给出的示例所示,其中

  • VidC01.ts是 的前 12 分钟VidA
  • VidC02.ts是“修剪和连接”的文件,并且
  • VidC03.ts是的最后5分钟VidB

我知道如何通过多个步骤完成所有这些工作,我只是天真地认为有办法,只是我还没能发现它。

任何帮助是极大的赞赏!

答案1

基本模板是

ffmpeg
-t 12:00 -i VidA.ts
-ss 12:00 -i VidA.ts
-t 10:00 -i VidB.ts
-ss 10:00 -i VidB.ts
-filter_complex "[1:v][1:a][2:v][2:a]concat=n=2:v=1:a=1[c02v][c02a]"
-map 0 -c:v libx264 -c:a aac VidC01.ts
-map [c02v] -map [c02a] -c:v libx264 -c:a aac VidC02.ts
-map 3 -c:v libx264 -c:a aac VidC03.ts

我假设所有输入的长度都恰好为 15 分钟,并且包含视频和音频流。

相关内容