有没有办法用 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.mp4
?hateley.mp4
答案1
可能有一个单步ffmpeg
命令可以执行此操作,但我总是像这样处理:
- 执行与您正在做的提取操作,但从原始内容中提取,从时间 0:00 开始到 1:02:00。
- 执行另一个提取操作,从 1:07:00 开始直到影片结束(我认为您只需将持续时间保留到结尾即可)。
- 将两部分合并在一起,如下所示:
合并示例:
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