使用 ffmpeg 批量删除视频文件的前 30 秒

使用 ffmpeg 批量删除视频文件的前 30 秒

有很多例子

ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4

但是,如果我想对包含多个文件的文件夹(ffmpeg ... * .mp4 ...)使用该命令,我该如何指定[持续时间]为“文件长度”减去我想要删除的 30 秒?

答案1

正如我的评论所暗示的,对你的问题的回答就是简单地排除这个-t论点。

如果您知道要捕获多少视频,可以使用:

ffmpeg -ss [start] -i in.mp4 -t [duration] -c copy out.mp4

如果您只想捕获前 30 秒后剩余的全部内容,您可以使用:

ffmpeg -ss [start] -i in.mp4 -c copy out.mp4

如果您需要批量执行此操作,则可以使用任何形式的脚本语言,甚至只是迭代命令。

对于 Windows,您可以使用以下命令修剪当前文件夹中每个 mp4 的前 30 秒(创建名为“done”的子文件夹后;确保 ffmpeg 在 PATH 中):

FORFILES /M *.mp4 /c "cmd /c ffmpeg -ss 30 -i ^"@file^" -c copy ^"done\\@file^""

相关内容