在不知道视频总时长的情况下,从视频末尾删除 x 秒

在不知道视频总时长的情况下,从视频末尾删除 x 秒

我尝试过寻找解决方案,但所有解决方案都涉及复制视频,比如从 00:00:00 开始复制 10 秒,而不是从视频末尾删除足够的视频,只留下 10 秒。我有一堆视频,需要从末尾删除 18 秒,但总时长因视频而异。这不能使用 ffmpeg 或其他程序自动完成吗?

答案1

使用 ffmpeg 剪切视频了解如何使用ffmpeg剪切视频,以及-ss-t标志。

要获取视频时长,您可以使用ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 video.mp4http://superuser.com/questions/650291/ddg#945604

因此,通过结合这两件事,您可以得到 -t $(( $(ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 video.mp4 |cut -d\. -f1) - 18 )) 等于前一个持续时间减去 18 秒的持续时间。

相关内容