RTP / RTSP / RTCPをTCP接続にカプセル化する方法はありますか?

RTP / RTSP / RTCPをTCP接続にカプセル化する方法はありますか?

これは私の設定です。

私は一種のラジオを使って互いに通信する2つのブラックボックスを持っています。 2つのブラックボックスが同時に送受信が可能です。

事前定義されたポートのTCPクライアントソケットを使用して、各ブラックボックスにデータを送受信できます。

ファイルを送受信できますが、プレゼンテーション用にビデオほどセクシーではありません。

FILE --> APP --> BLACKBOX_TX --RADIO--> BLACKBOX_RX --> APP --> FILE

これが私がしたいことです:

一方の側からもう一方の側にビデオを送信し、TX側とRX側の両方でビデオを見ることができます。もちろん、RX側では魔法のようなことが起こり、ブラックボックスがそのような用途なので、損失なく映像を見ることができなければなりません。

私の質問は次のとおりです。

数年前、私はVLCを使ってRTPとその2人の友人RTSPとRTCPを介してビデオを転送しました。すべてのストリーム接続を1つのTCP接続(TX側)に多重化し、それを1つのTCP接続(RX側)で逆多重化して同じ機能を使用できますか?

VLC --> [PROXY] --> BLACKBOX_TX --RADIO--> BLACKBOX_RX --> [PROXY] --> VLC

VLCに関連しない他のソリューションも開いています。ブラックボックス+ TCPは必須です。

ありがとう、

ソックス

ベストアンサー1

設定の理解をもう一度強調して正確でない場合は、質問を更新してください。以下は、IPアドレスの構成を示す図である。

Computer A      Blackbox B      Blackbox C      Computer D
Laptop etc.     Embedded        Embedded        Laptop
10.0.0.1/24 --- 10.0.0.2/24 ... 10.0.1.2/24 --- 10.0.1.1/24
                Port 123        Port 123

したがって、AとBはイーサネット(LAN)で接続され、BとCは無線で接続され、CとDは再びイーサネットで接続されます。ポート123でリッスンし、そのポートからラジオを介して他端まですべてを転送するBとCで動作するアプリケーションがあります。 AとDでVLCを実行してビデオをストリーミングして、関連する待ち時間を表示したいです。

socatこの場合、次のようにトンネルを設定します。 Aでは、

socat TCP4:10.0.0.2:12 TUN:10.0.2.1/24,iff-up 

Bでは、

socat TCP4:10.0.1.2:12 TUN:10.0.2.2/24,iff-up 

ip routeAとDの内容が似ていることを確認してください。

10.0.2.0/24 dev tun0 proto kernel scope link src ...

この方法では、次の図に示すように、A と D が LAN 経由で直接接続されていると仮定します。

A                 D
10.0.2.1/24 ----  10.0.2.2/24
tun0              tun0

Aで動作していることをテストし、ping 10.0.2.2ワイヤレス接続が双方向の場合はping 10.0.2.1Dでテストします。接続が双方向でない場合、問題が発生する可能性があります。わかりません。

(少し異なる設定でテストしましたが、単方向接続はテストできませんでした。以下に説明するようにVLCストリーミングをテストしていません)。

これで、VLCインスタンスを送信するAの流れと、VLCインスタンスを受信するDの流れを開始できるようになりました。理論的には、すべてのプロトコルが機能する必要があります(無線接続が双方向の場合)。すべて試してみてください。ワイヤレス接続が一方向の場合、RTPとUDPしなければならない働くこれ目的地10.0.2.2UDP及びRTP方式の場合、ストリームアドレスは(Dのトンネルアドレス)である。 HTTP経由で送信する場合、受信者には次のものが必要ですvlc http://10.0.2.1:8080/go.mpg

おすすめ記事