如何用ffprobe计算视频时长的总和

    先说结论

    目的:计算一个文件夹下的视频文件的时长总和,比如说,该目录下有100个视频文件,这样用手算肯定手酸。

    系统环境: win 10

    终端环境: Git Bash

    装的工具: ffprobe

    运行方式:

    1.  在GitBash中,进到视频文件所在目录

    2. 把下面的代码贴进Git Bash,于是得到计算结果

$ find . -type f \( -iname "*.mp4" -o -iname "*.mkv" -o -iname "*.avi" \) -print0 | sort -uz | xargs -0 -n 1 ffprobe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 | awk '{ total += $1 } END { hours=int(total/3600); mins=int((total%3600)/60); secs=int(total%60); printf "Total duration: %d hours %d minutes %d seconds\n", hours, mins, secs }' 


    ffprobe安装方法

    win10人人都有。git bash,会git的工程师在这个环境下也人手一个,好像去git官网点一下下载就有了,不记得了,总之很容易。对我来说,这个ffprobe的安装倒是比较绕一些。
    1. 进入这个网站,https://ffmpeg.org/download.html
    2. 那个绿色的大按钮不要点,点下面的“Get packages & executable files”的win图标下的“Windows builds by BtbN”(BtbN的意思似乎是稳定版)
    3. 解压下载的文件并将其中的ffprobe.exe文件复制到Git Bash的路径下(例如C:\Program Files\Git\usr\bin)。确保您的Git Bash可以执行ffprobe命令。
于是安装完毕。

评论

此博客中的热门博文

英语学习之路

1月2日 重仓“看剧学习英语”的项目停止。

这是我的第一条博客