【发布时间】:2013-02-08 22:56:53
【问题描述】:
操作系统:LINUX(Redhat Enterprise 和 Ubuntu LTS)
我目前正在使用 Gstreamer Pipeline 将视频数据多播到各种客户端。我的管道如下所示。 rtspsrc location=rtsp://<ip>:<port>/<location>.sdp latency=0 ! udpsink host=225.1.1.1 auto-multicast=true port=5678 sync=false async=false 。可以看到我有一个多播组 225.1.1.1 和端口 5678。鉴于此信息,是否可以通过(1)Gstreamer API(2)C/C++ 中的 Berkeley Unix 套接字获取当前连接/活动客户端(IP 地址和其他属性)的列表(如果有)?
将其视为一个小型嗅探工具(不像 tshark、ngrep、pcap 等那样复杂)。我可能可以将 bash/Python 脚本和 tshark 与一些过滤器结合使用。但如果可能的话,我更喜欢 C C++ 代码(非 root 执行会很棒!)。
【问题讨论】:
-
由于 UDP 是无状态/无连接的,因此没有活动的连接确认。因此,似乎必须使用基于 TCP 的机制。
标签: c++ c sockets gstreamer multicast