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

Ica*_*rus 5 video ffmpeg

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

Pat*_*zek 9

请参阅使用的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 秒。