Shell 如何获取文件的持续时间(毫秒)
我正在尝试以毫秒为单位获取音频文件(.wav)的持续时间 我已经看到一些命令行使用了Shell 如何获取文件的持续时间(毫秒),shell,avconv,Shell,Avconv,我正在尝试以毫秒为单位获取音频文件(.wav)的持续时间 我已经看到一些命令行使用了ffmpeg,但是这个库在我的Ubuntu版本中被弃用了(remplace byavconv),我没有找到任何内容 我可以通过运行avconv-I来获取持续时间,但我要在毫秒内查找结果将此作为一个小型独立.sh文件编写: file="$1" info=$(sox $file -n stat 2>&1) full_length=$(echo "$info" | sed -n 's#^Length (s
ffmpeg
,但是这个库在我的Ubuntu版本中被弃用了(remplace byavconv
),我没有找到任何内容
我可以通过运行
avconv-I
来获取持续时间,但我要在毫秒内查找结果
将此作为一个小型独立.sh
文件编写:
file="$1"
info=$(sox $file -n stat 2>&1)
full_length=$(echo "$info" | sed -n 's#^Length (seconds):[^0-9]*\([0-9.]*\).*$#\1#p')
seconds=$(echo $full_length | cut -f1 -d.)
if [ -n "$seconds" ]; then
milliseconds=$(echo $full_length | cut -f2 -d. | cut -c -3)
result=$(($seconds * 1000))
result=$(($result + $milliseconds))
echo "$result"
exit
fi
echo "0"
exit
就像
new-file.sh test.wav
获得类似(持续时间,毫秒)的结果
(您可以找到我使用的所有源代码的完整代码)
1337