使用 Gstreamer 将多个音频流混合成一个播放声音

mam*_*ius 3 audio mixer stream audio-streaming gstreamer

我想用来Gstreamer从同一端口上的多个点接收音频流。事实上,我想将音频从网络上的不同节点流式传输到一台收听传入音频流的设备,并且它应该在播放前混合多个音频。我知道我应该使用audiomixerliveadder执行这样的任务。但是我做不到,而且混音器不能正常工作,当两个音频流到来时,输出的声音会非常嘈杂和损坏。

我使用了以下命令:

gst-launch-1.0.exe -v udpsrc port=5001 caps="application/x-rtp" !队列 !rtppcmudepay !穆劳德克!混音器名称=混音。!音频转换!音频重采样!自动音频接收器

但它不起作用。

小智 5

同一个端口上的数据包不能demux相互正常方式,你在你的命令中写道,接收来自你应该使用同一端口的多个音频流SSRCrtpssrcdemux多路分配器。但是,要在多个端口上接收多个音频流并混合它们,您可以使用liveadderelement. 从两个端口接收两个音频流并混合它们的示例如下:

gst-launch-1.0 -v udpsrc name=src5001 caps="application/x-rtp" port=5001 !rtppcmudepay !穆劳德克!音频重采样!liveadder 名称=m_adder !alsasink device=hw:0,0 udpsrc name=src5002 caps="application/x-rtp" port=5002 !rtppcmudepay !穆劳德克!音频重采样!m_adder。