![如何截取文件夹中每个视频的前 20 秒?](https://linux22.com/image/891973/%E5%A6%82%E4%BD%95%E6%88%AA%E5%8F%96%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E6%AF%8F%E4%B8%AA%E8%A7%86%E9%A2%91%E7%9A%84%E5%89%8D%2020%20%E7%A7%92%EF%BC%9F.png)
我猜测有一个 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
,但同样,如果您需要这样做,它取决于格式。