내 전화에 대해 비슷한 앱을 쓸 수 있도록 spydroid (https://code.google.com/p/spydroid-ipcamera/)의 작동 방식을 이해하려고합니다. 여기에 내가 RTSP, RTCP 및 RTP에 대해 이해하고있는 것은 무엇입니까?RTSP, RTCP 및 RTP 포트 번호
RTSP는 지정된 포트에서 실행되고 모든 것을 설정합니다.
RTCP는 모든 포트에서 실행될 수 있습니다. 클라이언트 포트와 서버 포트가 있습니다. 이것은 RTP에 대한 제어 흐름입니다.
모든 포트에서 RTP를 실행할 수 있습니다. 클라이언트 포트와 서버 포트가 있습니다. 여기에는 오디오 및 비디오 스트림이 포함됩니다. 이것은 실제로이 포트에서 오디오 및 비디오를 전송하지 않기 때문에 혼란 스럽습니다. spydroid는 포트 5006에서 비디오를 보내고 5004에서 오디오를 보냅니다.
Spydroid가 포트를 확인하기 위해 RTSP를 통해이 메시지를 보냅니다 ... 전송 : RTP/AVP/UDP, 유니 캐스트, 대상 = 123.456.789.00;
클라이언트 (VLC는 내 경우)가 65234에서 RTP 용으로, 65235 용으로 수신 대기하고 있다고 생각합니다. 클라이언트 측에서 65234, 65234-65235, 서버 측에서 65234, RTCP 메시지. 또한 spydroid는 RTP의 경우 44580, RTCP의 경우 44581에서 수신 대기합니다. 이게 옳은 거니? RTSP의 DESCRIBE 순서 이제
이 spydroid 클라이언트 m 말하고있다 = 비디오 5006/AVP 96 I이이 포트 5006를 통해 UDP를 통해 비디오를 전송 될 것이라고 말하고 생각 RTP는 모든 것을 있습니까 I 위의 문장에서 올바른 소리?
내가 알고 싶은 것은이 정보를 올바른 포트로 전달하는 방법입니다. 클라이언트 포트는 VLC에 의해 자동으로 할당됩니다. 이 명령을 실행 해 보았습니다 ... vlc "rtsp : //192.168.1.104 : 8086"--rtp-client-port = 58866 그러나 VLC는이를 무시하고 자체 포트를 선택합니다. 그래서 나는 포트 8086, 5004 및 5006을 포워딩했다. 그러나 RTP와 RTCP 연결을 위해 어느 포트를 포워드할지는 매번 바뀌기 때문에 나는 모른다. 이 작업을 수행하는 유일한 방법은 모든 포트를 내 컴퓨터로 포워딩하는 것입니다. (나는 링크시스 라우터가 있고 그것은 DMZ 옵션을 가지고있다) 그러나 이것은 나쁜 해결책이다. 누군가 나를 올바른 방향으로 안내 할 수 있습니까?
또한 인터넷을 통해 외부 IP 주소를 통해 모든 것을 전송하므로이 작업을 수행하고 있음을 알고있는 것이 좋습니다. 어디로 spydroid는 로컬 영역 네트워크에서 사용하기위한 것입니다.