2017-09-15 77 views
0

我有几个.mp4格式的视频。使用命令行计算文件夹中视频的总运行时间

我需要使用命令行来计算它们全部的总运行时间。

我该怎么做?

+0

的ffmpeg -i MyVideo网站2>&1 | grep持续时间|剪下-d''-f 4 | sed s /,//这会给你.mp4的运行时间,或者你可以使用avconv应用程序,这是avnv的通用命令'avconv -i test.mp4' –

回答

0

试用一下这个:

find . -iname "*.mp4" -exec ffprobe -v error -print_format json -show_format {} \; | jq -r '.[].duration' | awk '{total+=$0}END{printf "%.6f",total}' 

它使用find搜索所有*.mp4,接下来是用ffprobe获得JSON格式的信息,后来jq被用来提取时间:

ffprobe -v error -print_format json -show_format file.mp4 | jq -r '.[].duration' 

用于计数使用awk

awk '{total+=$0}END{printf "%.6f",total}' 

printf "%.6f",total是返回浮点数例如:

5320.351000