我正在寻找构建一个 MCPTT(一键通)类型的应用程序,其中通过发送 RTCP 数据包来处理楼层控制
MCPTT 楼层类型上下文中的 RTCP 数据包在https://www.wireshark.org/docs/dfref/r/rtcp.html中定义(搜索关键字“楼层”)
我正在使用 GStreamer 媒体库进行音频视频流传输。例如,如果我有如下管道,
发件人 1:
videotestsrc ! vp8enc ! rtphvp8pay name=pay1 ! udpsink host=X port=5001
发件人 2:
videotestsrc ! vp8enc ! rtphvp8pay name=pay2 ! udpsink host=X port=5002
接收者:
udpsrc port=5001 ! rtpvp8depay name=depay1 !
input-selector name=select1 ! rtpvp8pay ! udpsink
udpsrc port=5002 ! rtpvp8depay name=depay2 !
我实际上会用 C 代码在上面写,上面仅用于管道表示
在上面的上下文中,基于从pay1/pay2发送并在depay1/depay2接收到的RTCP floor 事件,我将控制输入选择器的活动 sink-pad
我想知道如何在 GStreamer 中创建自定义 RTCP 事件并在接收端发送和接收/解析它们
另外请建议这种方法是否适用于这种用例或任何其他方法/库适合这里