我尝试过寻找解决方案,但所有解决方案都涉及复制视频,比如从 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.mp4
:http://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 秒的持续时间。