如何截取文件夹中每个视频的前 20 秒?

如何截取文件夹中每个视频的前 20 秒?

我猜测有一个 ffmpeg 命令可以做到这一点。

我有一个文件夹,里面装满了一堆视频,这些视频开头都有一段不必要的 20 秒片段。

我不想对它们重新编码或者改变任何其他东西,只是想删掉那个介绍。

答案1

mkdir output
for f in *.mp4; do ffmpeg -i "$f" -ss 20 -map 0 -c copy "output/$f"; done

对于非帧内格式,这将需要在关键帧上进行剪切(如今大多数“消费者”视频都是非帧内的),因此可能不会在正好 20 秒时剪切。

如果您的输入是内部输入(例如 DV),或者您知道关键帧在 20 秒或接近 20 秒,那么在其-ss之前移动-i,处理速度就会稍微快一些。

如果你必须削减确切地20 秒后您将需要重新编码:删除-c copy,但同样,如果您需要这样做,它取决于格式。

相关内容