【问题标题】:Dynamically change GStreamer plugin (equalizer) parameters动态更改 GStreamer 插件(均衡器)参数
【发布时间】:2021-06-06 05:34:40
【问题描述】:

上下文:我有一个运行 Mopidy 的音频设备,它输出到 gstreamer 管道。我的设备有一个均衡器接口——为此我设置了我的 ALSA 配置以通过 ALSA 均衡器——GStreamer 管道以此为目标。处理接口的代码使用pythonalsamixer实现值。

这可行,但 ALSA 均衡器有点笨拙,并且在扭曲音频之前范围非常窄。 GStreamer 有一个equalizer plugin,我认为它更好;我可以按照以下示例启动行来实现它:

gst-launch-1.0 filesrc location=song.ogg ! oggdemux ! vorbisdec ! audioconvert ! equalizer-10bands band2=3.0 ! alsasink

但是,我希望能够在流播放时动态更改 band0-band9 参数 - 通过 python 或从命令行。我不知道该往哪个方向看 - 这可能吗?

【问题讨论】:

  • 我使用 ladspa mbeq 所以不能肯定,但对象应该有 getset 功能。例如.get_property("band3").set_property("band3", 4.33)

标签: gstreamer python-gstreamer


【解决方案1】:

插件的属性可以通过g_object_set() 函数设置。是否可以即时更改或仅在管道停止时更改它们取决于插件的实现。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-14
    • 2015-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-23
    相关资源
    最近更新 更多