c# - rtt - ssrc
パケットがRTP/RTCPであるかどうかを確認するにはどうすればよいですか? (3)
利用可能な最も一般的なプロトコルをデコードできるWiresharkのパケット検出器を見ていきます。
私はUDPトラフィックをキャプチャするWinPCap上に構築されているSharpPCapを使用しています。 私の最終目標は、H.323からオーディオデータをキャプチャし、それらの電話会話をWAVファイルとして保存することです。 しかし、まず第一に、私は自分のUDPパケットがNICを通過しているかどうかを調べる必要があります。
SharpPCapは、メッセージのPayloadDataにアクセスできるUdpPacketクラスを提供します。 しかし、私はこのデータで何ができるのか不明です。 これはByte []配列なので、RTPかRTCPパケットかどうかを判断する方法はわかりません。
私はこの話題をgoogledしましたが、そこにはあまりありません。 どんな助けもありがとうございます。
私はあなたがRTPパケットの前に来るSIPパケットを見る必要があると信じています。
通信がRTSPで行われる場合は、SETUPでネゴシエートされたUDPポートを確認してください。
udpポートはRTPかRTCPかを知らせます(RTPは通常ポート番号と奇数のRTCPで処理されます)。
最後に、RTSP経由で通信する場合は、DESCRIBEからSDPファイルのペイロード番号のリストを取得し、RTPヘッダーのペイロードタイプをチェックして、ペイロードをデコードする必要があるコーデックに伝えることができます。