RTP/RTSP/RTCP를 TCP 연결로 캡슐화하는 방법이 있습니까?

RTP/RTSP/RTCP를 TCP 연결로 캡슐화하는 방법이 있습니까?

이것은 내 설정입니다.

나는 일종의 라디오를 사용하여 서로 통신하는 두 개의 블랙 박스를 가지고 있습니다. 두 개의 블랙박스가 동시에 송수신이 가능합니다.

미리 정의된 포트의 TCP 클라이언트 소켓을 사용하여 각 블랙박스에 데이터를 보내고 받을 수 있습니다.

파일을 보내고 받을 수 있지만 프레젠테이션용으로 비디오만큼 섹시하지는 않습니다.

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

이것이 내가 하고 싶은 일이다:

한 쪽에서 다른 쪽으로 비디오를 보내고 TX 쪽과 RX 쪽 모두에서 비디오를 볼 수 있기를 원합니다. 물론 RX 쪽에서는 마법 같은 일이 일어나고 블랙박스가 그런 용도이기 때문에 손실 없이 영상을 볼 수 있어야 합니다.

내 질문은 다음과 같습니다.

몇 년 전 저는 VLC를 사용하여 RTP와 그 두 친구 RTSP 및 RTCP를 통해 비디오를 전송했습니다. 모든 스트림 연결을 하나의 TCP 연결(TX 측)으로 다중화하고 이를 하나의 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.

관련 정보