我见过这段代码:
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。