ffmpeg-video 从视频末尾修剪

ffmpeg-video 从视频末尾修剪

我有一些不同时长的视频。我想剪切(删除)所有视频的最后 5 秒。我可以循环使用“ffmpeg”来修剪视频吗?请帮帮我。

答案1

这将让你以秒为单位获得文件的持续时间:

let A=$(avprobe input.webm 2>&1 | grep "^ *Duration: " | sed "s/^ *Duration: \\([0-9:]*\\).*/(((\\1)/" | sed "s/0\\([0-9]\\)/\\1/g" | sed "s/:/)*60+/g")

尽管avprobe确实返回了秒的分数,但 bash 并不处理分数。所以我只是删除了小于 1 秒的所有内容。

之后你可以轻松地做这样的事情:

let A=$A-5
avconv -i input.webm -t $A -c:v copy -c:a copy output.webm

抱歉,我没有使用ffmpeg。我之前已经切换到了avconv,我相信选项应该相同,如果不是,那么根据需要重写它们应该很简单。

此后,问题只在于将整个过程包装在 for 循环中并一次性处理所有文件。

相关内容