有很多例子
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^""