如何使用 ffmpeg 丢弃 MP4 的一部分

如何使用 ffmpeg 丢弃 MP4 的一部分

有没有办法用 ffmpeg 从 MP4 文件中切出 5 分钟的部分?

我尝试运行以下命令,得到我想要的部分消除hateley2.mp4

ffmpeg -ss 01:02:00.000 -i hateley.mp4 -t 00:05:00.000 -c copy hateley2.mp4

有什么办法可以让我不再需要从 1 小时 2 分钟中删除那 5 分钟的部分吗hateley2.mp4hateley.mp4

答案1

可能有一个单步ffmpeg命令可以执行此操作,但我总是像这样处理:

  1. 执行与您正在做的提取操作,但从原始内容中提取,从时间 0:00 开始到 1:02:00。
  2. 执行另一个提取操作,从 1:07:00 开始直到影片结束(我认为您只需将持续时间保留到结尾即可)。
  3. 将两部分合并在一起,如下所示:

合并示例:

echo 1.mp4 > merge.txt
echo 2.mp4 >> merge.txt
ffmpeg -f concat -safe 0 -i merge.txt -c copy merged.mp4

如果文件中有多个音轨,则可能需要更复杂的合并,例如:

ffmpeg -f concat -i merge.txt -map 0:0 -map 0:1 -map 0:2 -c copy merged.mp4

相关内容