OS: 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 Sockets を介して、現在接続されている/アクティブなクライアント (IP アドレスおよびその他の属性) のリストを取得する方法はありますか?
これは小さなスニッフィング ツールと考えてください (tshark、ngrep、pcap などほど複雑ではありません)。おそらく、bash/Python スクリプトと tshark をいくつかのフィルターと組み合わせて使用できます。しかし、私は可能であれば C C++ コードを好みます (root 以外での実行は素晴らしいことです!)。