GStreamer 管道动态控制 alsasink

问题描述 投票:0回答:1

我有一个 GStreamer 管道,它接收 udp/rtp 流并将其输出到四个声卡通道,例如阿萨辛克斯:

gst-launch-1.0 udpsrc name=m_udpsrc multicast-group=239.255.255.245 auto-multicast=true port=5551 timeout=30000000000 caps="application/x-rtp, media=(string)audio, clock-rate=(int)8000, encoding-name=(string)G722, payload=(int)9" ! rtpg722depay name=m_depay ! avdec_g722 name=m_dec  ! audioconvert ! tee name=m_t  m_t. ! queue name=m_queue_1 ! volume volume=0.66 name=m_volume_ch1 ! alsasink name=ch1 device=card1_out0 sync=false async=true  m_t. ! queue name=m_queue_2 ! volume volume=0.66 name=m_volume_ch2 ! alsasink name=ch2 device=card1_out1 sync=false async=true  m_t. ! queue name=m_queue_3 ! volume volume=0.66 name=m_volume_ch3 ! alsasink name=ch3 device=card2_out0 sync=false async=true  m_t. ! queue name=m_queue_4 ! volume volume=0.66 name=m_volume_ch4 ! alsasink name=ch4 device=card2_out1 sync=false async=true

是否有一个插件可以让我动态地单独启用/禁用或静音/取消静音四个通道之一(alsasinks)?

由于我有四个 alssink,gstreamer 管道组合的可能数量为 1..16。但是,一旦我必须切换通道或切换到其他通道组合,总是拆卸并设置新管道,效率非常低且耗时。

linux gstreamer audio-streaming rtp alsa
1个回答
0
投票

据我所知,没有任何插件可以让您使用 gst-launch 命令使管道静音。

有一些工具可以让您在不需要完整的 gstreamer 应用程序的情况下进行更多原型设计。当您需要动态更新测试管道中的属性时,Gstreamer Daemon 非常有用。对于您的情况,您可以使用该工具来更新不同管道的音量并将其静音。

© www.soinside.com 2019 - 2024. All rights reserved.