我见过这样的代码:
vol=$(ffmpeg -i "$file" -af "volumedetect" -f null /dev/null 2>&1 | grep mean_volume | awk -F': ' '{print $2}' | /cut -d' ' -f1)
echo "existing mean_volume.........$vol"
经过https://superuser.com/users/390724/chris-prince日期:2015 年 9 月这里。我使用它,它按预期对单个音频文件进行工作。但是,当尝试在循环中使用它对多个文件进行批处理时,它失败了(vol 没有值)。我试图在原始线程中得到答案,但被告知必须启动一个新线程。我进一步测试了代码。问题似乎出在 ffmpeg 中。