ffmpeg - 无需重新编码即可一次修剪多个视频?

ffmpeg - 无需重新编码即可一次修剪多个视频?

我有一个文件夹,里面的每个 mp4 文件都需要剪掉前 10 分钟。我使用下面的方法逐个剪掉,但逐个剪掉太耗时了

ffmpeg -i "untrimmed.mp4" -ss 00:10:00 -c copy "trimmmed.mp4"

有没有简单的方法可以一次修剪多个视频文件?

编辑-我已经在 powershell 中找到了解决方法-例如使用 11 分钟

Get-ChildItem -Filter *.mp4 | ForEach -Process { ffmpeg -i $_ -ss 00:11:00 -c copy ($_.BaseName + '_Trimmed.mp4')}

答案1

这个概念称为批处理,方法依赖于系统,因为 ffmpeg 本身缺乏这种能力。

在 Windows 上,您可能需要使用ForFiles查找与模式匹配的文件(例如*.mp4)并/C使用开关在结果上运行 ffmpeg 命令。

在 Linux 和 MacOS 命令行中find使用开关执行相同的操作-exec

在这两种情况下您都可以使用循环,但是当您只想做这些的时候它们会使事情变得过于复杂。

举个 Linux 的例子,这个命令会在当前文件夹中搜索.名称与*.mp4模式匹配的文件,然后对每个结果执行 ffmpeg {},输出到 eg (你可以用它,对吧?)。最后的untrimmed.mp4_trim.mp4escaped关闭开关:;-exec

find . -iname '*.mp4' -exec ffmpeg -i '{}' -ss 00:10:00 -c copy '{}_trim.mp4' \;

相关内容