1. 首页
  2. 做趣事

ffmpeg获得视频文件的总长度时间

#获得视频文件的总长度时间
function gett(){
    for f in "$@"
do
name=$(basename "$f")
dir=$(dirname "$f")
vtime=`ffmpeg -i "$f" 2>&1 | grep 'Duration' | cut -d ' ' -f 4 | sed s/,//`

#//与/之间为分割的字符 ,另外/后有一个空格不可省略
# t=$[t*3]   #t乘以3
str=${vtime//:/ };
duration=($str);
#遍历数组
# for each in ${duration[*]}
# do
#  echo $each
# done

#秒数10.08,取整
sencond1=${duration[2]}
sencond2=${sencond1%.*}

#转位整型
hour=`expr ${duration[0]} + 0`
minute=`expr ${duration[1]} + 0`
sencond=`expr $sencond2 + 0`

#时:分:秒转为秒数
duration_in_seconds=$[$hour*3600+$minute*60+$sencond]
echo $duration_in_seconds
done
}

把gett()函数写入.sh脚本,并在终端启动时加载此脚本。

打开终端:输入命令 gett 并拖入mp4视频文件,回车,即可获得视频时长。

ffmpeg获得视频文件的总长度时间
ffmpeg获得视频文件的总长度时间

获得的时间时118秒,视频持续时间确实时01:58。非常准确。

原创文章,作者:维尼兔,如若转载,请注明出处:https://www.v2v0.com/?p=294

发表评论

邮箱地址不会被公开。 必填项已用*标注

联系我们

 

工作时间:周一至周五,09:30-17:00,节假日休息