添加文件夹中所有视频文件的持续时间

时间:2018-05-03 14:03:23

标签: linux shell video

以下命令提供文件夹中所有视频文件的持续时间。

android.location.LocationManager locationManager = (android.location.LocationManager) 
appContext.getSystemService(Context.LOCATION_SERVICE);
locationManager.requestLocationUpdates(android.location.LocationManager.GPS_PROVIDER, 500, 0, mLocationListener);

喜欢这个

ls | grep "[.=]mp4"| xargs -n1 ffmpeg -i  2>&1 | grep Duration | cut -d ' ' -f 4 | sed s/,//

所以问题是如何总结所有这些持续时间?

1 个答案:

答案 0 :(得分:0)

将此添加到管道的末尾以获得持续时间:

 | awk -F: '{sum += 3600*$1 + 60*$2 + $3} END {print sum}'

以秒为单位获取总持续时间。使用您的示例数据,该值为2624.86

以小时打印:分钟:秒,你可以

$ date -d @2624.86 -u "+%H:%M:%S.%N"
00:43:44.860000000

或者,用awk做一些算术:

| awk -F: '{sum += 3600*$1 + 60*$2 + $3} END {
    hrs = int(sum / 3600)
    sum -= hrs * 3600
    mins = int(sum / 60)
    secs = sum - mins * 60
    printf "%d:%02d:%05.2f\n", hrs, mins, secs
}'