RTSP 멀티캐스트 및 UDP 카메라 스트림: 검색은 작동하지만 미디어가 도착하지 않는 이유
ONVIF 검색, 트래픽 제어 또는 멀티캐스트 설정이 작동하지만 RTP 미디어가 도착하지 않는 RTSP 카메라 스트림을 진단하는 방법입니다.
카메라 네트워크에는 유니캐스트 RTSP, 멀티캐스트 RTP, ONVIF 검색, VLAN, PoE 스위치, 방화벽 및 NVR이 혼합되어 있는 경우가 많습니다. 증상은 혼란스러울 수 있습니다. 카메라가 발견되고 RTSP URL이 유효하며 'DESCRIBE'가 SDP를 반환하지만 미디어 패킷이 도착하지 않습니다.
이는 고전적인 프로토콜 경계입니다. 발견은 미디어가 아닙니다. RTSP 제어는 RTP 전달이 아닙니다. 멀티캐스트 연결 가능성은 유니캐스트 연결 가능성과 동일하지 않습니다.
ONVIF 검색은 다른 UDP 대화입니다.
ONVIF 검색은 일반적으로 검색 주소 및 포트에서 UDP 멀티캐스트를 사용합니다. 검색이 성공하면 적어도 하나의 멀티캐스트 스타일 제어 경로가 검색에 작동했음을 증명합니다. RTP 멀티캐스트 그룹이 허용, 결합, 라우팅 또는 전달되는지 여부는 증명되지 않습니다.
일반적인 실수:
- ONVIF 검색이 RTP 미디어 경로를 증명한다고 가정
- NVR과 다른 VLAN에서 테스트
- TCP 554는 허용하지만 UDP 미디어 포트는 차단함
- 스위치에서 멀티캐스트 그룹 트래픽 차단
- IGMP 스누핑 또는 쿼리어 동작을 잊어버림
- NVR이 다른 경로를 사용하는 동안 직접 카메라 URL 테스트
보고서에는 검색, RTSP 제어, RTP 미디어 또는 RTCP 피드백 등 트래픽 유형의 이름이 지정되어야 합니다.
멀티캐스트에는 그룹 멤버십이 필요합니다.
멀티캐스트 RTP의 경우 수신자는 멀티캐스트 그룹에 가입해야 합니다. 스위치와 라우터는 트래픽을 올바르게 전달하기 위해 IGMP 동작이 필요할 수 있습니다. 멀티캐스트가 비활성화되거나 필터링되거나 잘못 구성된 경우 미디어가 도착하지 않는 동안에도 RTSP 제어가 계속 작동할 수 있습니다.
유용한 증거:
- SDP는 멀티캐스트 주소 또는 유니캐스트 전송을 선언합니다.
- 'SETUP' 전송 헤더가 요청된 모드를 확인합니다.
- 수신기 인터페이스 및 VLAN
- 멀티캐스트 그룹 주소
- RTP 패킷이 캡처 지점에 도달하는지 여부
- RTCP 표시 여부
- 유니캐스트 모드가 다르게 동작하는지 여부
유니캐스트 RTP는 작동하고 멀티캐스트는 작동하지 않는 경우 H.264가 아닌 네트워크 멀티캐스트 구성에 문제가 있을 수 있습니다.
TCP 제어가 작동하는 동안 UDP 미디어가 차단될 수 있음
방화벽은 종종 TCP 554 또는 8554를 허용하지만 UDP 포트는 차단합니다. NAT는 UDP 미디어를 손상시킬 수도 있습니다. 그러면 다음과 같은 공통 패턴이 생성됩니다.
- TCP 연결 성공
- 'DESCRIBE' 성공
- 'SETUP' 성공
- 'PLAY' 성공
- RTP가 도착하지 않습니다
TCP 인터리브로 전환하는 것은 유용한 비교입니다. TCP 인터리브가 작동하면 RTSP 서버와 코덱이 작동할 가능성이 높습니다. UDP 미디어 경로에 주의가 필요합니다.
캡처할 내용
멀티캐스트 및 UDP 사례의 경우 다음을 캡처합니다.
- RTSP 요청 및 응답 헤더
- SDP 미디어 주소 및 트랙 정보
SETUP의 전송 헤더- 클라이언트 및 서버 포트
- 멀티캐스트 그룹
- RTP 패킷 도착 또는 부재
- RTCP 패킷 도착 또는 부재
- TCP 인터리브를 통한 동일한 테스트
이 증거는 네트워크 팀이 카메라 공급업체에 코덱 설정 변경을 요청하는 대신 라우팅, 방화벽 또는 멀티캐스트 전달을 수정하는 데 도움이 됩니다.
RTSP 검사기가 적합한 곳
RTSP 검사기는 시각적 추측이 아닌 프로토콜 증거를 위해 제작되었습니다. 멀티캐스트 및 UDP의 경우 해당 값은 스트림이 중지된 위치를 표시합니다.
- 검색은 작동했지만 RTSP는 실패했습니다.
- RTSP는 작동했지만 RTP는 도착하지 않았습니다.
- UDP는 실패했지만 TCP 인터리브는 작동했습니다.
- 멀티캐스트 그룹이 선언되었지만 클라이언트에 도달한 패킷이 없습니다.
- RTP가 도착했지만 코덱 준비에 실패했습니다.
그것은 다른 실패입니다. 플레이어 창에서는 이를 확실하게 구분할 수 없습니다. 프로토콜 보고서는 가능합니다.