我正在处理一些音频文件,我要获取音频持续时间并将持续时间附加到文件名即audio-lecture-02.30.05.mp3
。我能够使用{{1}使用FFmpeg获取音频持续时间输出是ffmpeg -i lecture.mp3 2>&1 | grep Duration
有没有办法提取这个持续时间并附加文件名?
提前谢谢。
答案 0 :(得分:0)
ffmpeg
的输出并不意味着机器解析。请改用ffprobe
。
#!/bin/bash
input="input.mp3"
duration=$(ffprobe -v error -show_entries format=duration -of csv=p=0 "$input")
mv "$input" "${input%.*}-$duration.${input##*.}"
input-5025.670000.mp3
中的结果。
#!/bin/bash
input="input.mp3"
duration=$(ffprobe -v error -show_entries format=duration -sexagesimal -of csv=p=0 "$input")
mv "$input" "${input%.*}-${duration//:/.}.${input##*.}"
input-1.23.45.670000.mp3
中的结果。