Answers:
以下可能不是最优雅的方式,但它的工作原理。
为方便起见,将filename插入变量:
file="yourvideo.avi"
获取视频长度-3秒(设置为-3) sed
命令 - 我们削减 ID_LENGTH=
并添加 -3
在末尾):
start=$(mplayer -identify -vo dummy -ao dummy -really-quiet "$file" 2>/dev/null | sed -n '/ID_LENGTH=/s/ID_LENGTH=\(.*\)/\1-3/p' | bc)
你也可以做同样的事情 avprobe 要么 ffprobe (随附avconv或ffmpeg):
start=$(avprobe -i "$file" -show_format 2> /dev/null | sed -n '/duration=/s/duration=\(.*\)/\1-3/p' | bc)
用。切 FFmpeg的 ( ffmpeg
) 要么 Libav ( avconv
)的起始位置 $start
:
avconv -ss $start -t 3 -i $file -vcodec copy -acodec copy end_${file}
-ss
(时间偏移)和-t
(持续时间)选项获得最后3秒。