Audio FFmpeg将音频持续时间附加到文件名

Audio FFmpeg将音频持续时间附加到文件名,audio,ffmpeg,Audio,Ffmpeg,我正在处理一些音频文件,我要获取音频持续时间并将持续时间附加到文件名,即audio-teaching-02.30.05.mp3。我可以使用FFmpeg-I-teaching.mp3 2>&1 | grep duration获得音频持续时间,输出为持续时间:01:27:25.70,开始:0.000000,比特率:64 kb/s是否有方法提取此持续时间并附加文件名? 提前感谢。来自ffmpeg的输出不是机器解析的。改用ffprobe 附加持续时间(秒) 结果为input-5025.670000.mp

我正在处理一些音频文件,我要获取音频持续时间并将持续时间附加到文件名,即
audio-teaching-02.30.05.mp3
。我可以使用
FFmpeg-I-teaching.mp3 2>&1 | grep duration
获得音频持续时间,输出为
持续时间:01:27:25.70,开始:0.000000,比特率:64 kb/s
是否有方法提取此持续时间并附加文件名?
提前感谢。

来自
ffmpeg
的输出不是机器解析的。改用
ffprobe

附加持续时间(秒) 结果为
input-5025.670000.mp3

以HH.MM.SS.ms为单位追加持续时间 结果为
input-1.23.45.670000.mp3

#!/bin/bash
input="input.mp3"
duration=$(ffprobe -v error -show_entries format=duration -of csv=p=0 "$input")
mv "$input" "${input%.*}-$duration.${input##*.}"
#!/bin/bash
input="input.mp3"
duration=$(ffprobe -v error -show_entries format=duration -sexagesimal -of csv=p=0 "$input")
mv "$input" "${input%.*}-${duration//:/.}.${input##*.}"