【问题标题】:How to use level plugin of GStreamer to get peak and rms value of a particular audio file如何使用 GStreamer 的电平插件获取特定音频文件的峰值和 rms 值
【发布时间】:2016-02-03 12:37:14
【问题描述】:

我想检测特定音频文件的峰值和 rms 值(格式可以是 .opus、.wav 等,或者也可以从麦克风输入而不录制声音)。使用 GStreamer 的优秀 'level' 插件我可以做到这一点。

我尝试了这里提供的示例,level_plugin_example

我也尝试了命令行示例,

$ gst-launch-1.0 -v -m audiotestsrc !音频转换! 音频/x-raw,格式=S8,通道=2!等级 ! fakesink静默=真

$ gst-launch-1.0 -v -m audiotestsrc !体积体积=1.0 !等级 ! fakesink静默=真

这些都给出了空有效值和峰值。

通过这些例子,我知道了如何使用级别。但问题是,在示例中,他们使用 caps 来设置原始媒体(内部是否有任何操作来获取关卡插件的输出?)但我想要用户定义的媒体输入,那么如何实现这一点?

总结:我想要一个 'level' 插件的示例代码 sn-p,它将输入作为录制的音频或实时音频文件并检测其 rms 和峰值。

【问题讨论】:

    标签: c audio plugins gstreamer gst-launch


    【解决方案1】:

    尝试使用:

    gst-launch -v -m  filesrc location=audioandsilence.wav ! decodebin ! audioconvert ! level message=TRUE ! pulsesink
    

    【讨论】:

      【解决方案2】:

      “级别”元素发送消息。可以在链接上找到使用示例(gstreamer 示例): https://github.com/krad-radio/gstreamer-plugins-good-krad/blob/master/tests/examples/level/level-example.c

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-12
        • 2013-11-13
        • 2019-02-14
        • 1970-01-01
        • 2011-05-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多