【问题标题】:ffmpeg and grep not working to extract mean_volume valueffmpeg 和 grep 无法提取 mean_volume 值
【发布时间】:2020-02-27 05:41:00
【问题描述】:

我有一个 mp3 文件列表,我想使用脚本将所有 mean_volume 设置为相同的 db 值,因此我输入了用于检测值的命令 (https://trac.ffmpeg.org/wiki/AudioVolume) 并尝试将 grep value 但它失败了,而是打印了 ffmpeg 命令的所有输出。有什么想法吗? 还尝试了tr 而不是grep。我使用的命令是:

ffmpeg -i sample.mp3 -filter:a volumedetect -f null /dev/null | grep 'mean_volume'

【问题讨论】:

    标签: linux bash ffmpeg


    【解决方案1】:

    ffmpeg控制台输出是stderr,所以需要重定向到stdout:

    ffmpeg -i input.mp3 -filter:a volumedetect -f null - 2>&1 | grep mean_volume
    

    或者对于 Bash 4+:

    ffmpeg -i input.mp3 -filter:a volumedetect -f null - |& grep mean_volume
    

    结果:

     [Parsed_volumedetect_0 @ 0x564635d62800] mean_volume: -22.6 dB
    

    如果您只想要值,请使用awk:

    ffmpeg -i input.mp3 -filter:a volumedetect -f null - |& awk -F': ' '/mean_volume/ {print $2}'
    

    结果:

    -22.6 dB
    

    【讨论】:

      猜你喜欢
      • 2017-03-05
      • 1970-01-01
      • 2021-03-11
      • 1970-01-01
      • 2015-02-23
      • 2019-08-20
      • 1970-01-01
      • 2013-04-09
      • 1970-01-01
      相关资源
      最近更新 更多