首页 > 解决方案 > 获得没有模糊时间的 Exiftool 持续时间

问题描述

当我使用 exiftool 获取音频文件的持续时间时,如果文件超过 24 小时,我会得到“1 day 1:23:45”而不是 25:23:45。有时我会得到“大约 13:17:23”。

是否可以告诉 exiftool 仅返回 HH:MM:SS 而不管文件实际有多长以及它是否认为时间是近似的(如果必须的话,我可以去掉近似值,但如果有办法指定我找不到的输出格式)?

exiftool -d "%H:%M:%S" -Duration Audiobook.m4a
Duration                        : 1 days 1:17:20

这可行,假设没有办法让 exiftool 输出小时数:

    if [[ $DURA == *"days"* ]]; then
        EXIF=$(exiftool -duration# "$FILE")
        SEC=$(awk -F": " '/Dura/ {print $2}' <<<"$EXIF" |awk -F'.' '{print $1}')
        HOR=$(($SEC / 3600))
        MIN=$(($SEC % 3600/60))
        SES=$(($SEC % 60))
        DURA="$HOR:$MIN:$SES"
     fi

标签: exiftool

解决方案


答:在 efixtool 中没有办法做到这一点,所以以某种方式解决(我选择了 bash 脚本,但无论如何)。


推荐阅读