これは私の設定です。
私は一種のラジオを使って互いに通信する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 route
Aと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.1
Dでテストします。接続が双方向でない場合、問題が発生する可能性があります。わかりません。
(少し異なる設定でテストしましたが、単方向接続はテストできませんでした。以下に説明するようにVLCストリーミングをテストしていません)。
これで、VLCインスタンスを送信するAの流れと、VLCインスタンスを受信するDの流れを開始できるようになりました。理論的には、すべてのプロトコルが機能する必要があります(無線接続が双方向の場合)。すべて試してみてください。ワイヤレス接続が一方向の場合、RTPとUDPしなければならない働くこれ目的地10.0.2.2
UDP及びRTP方式の場合、ストリームアドレスは(Dのトンネルアドレス)である。 HTTP経由で送信する場合、受信者には次のものが必要ですvlc http://10.0.2.1:8080/go.mpg
。