RTSP 461 Unsupported Transport 해결: SETUP 실패, UDP vs TCP, ffmpeg 카메라 전송 오류

RTSP 461 Unsupported Transport와 ffmpeg \"method SETUP failed: 461\" 오류를 해결합니다. UDP vs TCP interleaved, 카메라 Transport 헤더, Frigate, Scrypted, NVR 통합 전송 오류를 다룹니다.

rtsp 461 unsupported transport, method setup failed, ffmpeg rtsp, udp vs tcp, interleaved transport, camera troubleshooting, rtsp diagnostics

RTSP/1.0 461 Unsupported Transport은 ffmpeg, Frigate, Scrypted, HomeKit 브리지, NVR 통합, Android 클라이언트, 그리고 커스텀 카메라 도구에서 나타나기 때문에 가장 많이 검색되는 RTSP 오류 중 하나입니다. 로그는 종종 method SETUP failed: "461 Unsupported Transport라고 표시합니다. 카메라는 OPTIONSDESCRIBE는 받아들이지만, 클라이언트가 RTP 미디어 전송을 설정하려고 할 때 카메라가 요청된 전송 모드를 거부합니다." 사용자들은 "RTSP 461 Unsupported Transport", "ffmpeg method SETUP failed 461", "RTSP UDP vs TCP camera", "RTP AVP TCP interleaved unsupported", "camera SETUP failed unsupported transport"를 검색합니다. 왜냐하면 문제는 RTSP URL 자체가 아니기 때문입니다. 클라이언트와 서버 간의 전송 협상입니다.

결정적인 증거가 SETUP 요청과 Transport 헤더이기 때문에 RTSP Inspector가 여기서 유용합니다.

SETUP이 하는 일

DESCRIBE 이후, 클라이언트는 SDP로부터 스트림 트랙을 알게 됩니다. 그런 다음 미디어 전송을 협상하기 위해 각 트랙에 대해 SETUP을 보냅니다.

UDP 예시:

SETUP rtsp://camera/stream/trackID=1 RTSP/1.0
Transport: RTP/AVP;unicast;client_port=50000-50001

TCP interleaved 예시:

SETUP rtsp://camera/stream/trackID=1 RTSP/1.0
Transport: RTP/AVP/TCP;unicast;interleaved=0-1

카메라가 요청된 모드를 지원하지 않으면 다음을 반환할 수 있습니다:

RTSP/1.0 461 Unsupported Transport

UDP 전용 및 TCP 전용 동작

많은 카메라가 UDP RTP와 TCP interleaved RTP를 모두 지원합니다. 일부는 그렇지 않습니다. 일부 구형 카메라는 UDP만 지원합니다. 일부 클라우드 릴레이나 리스트리머는 TCP interleaved만 지원합니다. 일부 NVR 경로는 직접 카메라 경로와 다르게 동작합니다.

증상:

  • UDP SETUP은 실패하지만 TCP는 작동합니다.
  • TCP interleaved SETUP은 실패하지만 UDP는 작동합니다.
  • 직접 카메라는 작동하지만 리스트림 URL은 실패합니다.
  • 메인 스트림은 한 모드를 지원하고 서브 스트림은 다른 모드를 지원합니다.
  • 클라이언트가 UDP에서 TCP로 재시도하지만 서버가 두 요청 형식 모두를 거부하기 때문에 여전히 실패합니다.

해결책은 "항상 TCP를 사용"이나 "항상 UDP를 사용"이 아닙니다. 해결책은 서버가 실제로 받아들이는 것이 무엇인지 식별하는 것입니다.

Transport 헤더 구문이 중요합니다

일부 RTSP 서버는 엄격합니다. 이론적으로는 유효하지만 펌웨어에서 받아들이지 않는 헤더를 거부할 수 있습니다.

다음을 비교하세요:

Transport: RTP/AVP;unicast;client_port=50000-50001

그리고:

Transport: RTP/AVP/UDP;unicast;client_port=50000-50001

일부 장치는 이들을 다르게 취급합니다. 일부는 멀티캐스트를 거부합니다. 일부는 예상 범위를 벗어난 클라이언트 포트 범위를 거부합니다. 일제는 0으로 시작하지 않는 interleaved 채널 번호를 거부합니다.

RTSP Inspector는 단순한 "TCP" 또는 "UDP" 라벨만이 아니라 정확한 헤더 문자열을 그대로 보존해야 합니다.

리스트리머와 프록시 경로

RTSP가 리스트리머, NVR, 또는 미디어 브리지를 통과할 때, 업스트림과 다운스트림의 전송 기능이 일치하지 않을 수 있습니다. 카메라는 UDP를 지원하지만 리스트리머는 TCP만 노출할 수 있습니다. 또는 리스트리머가 SETUP 요청은 받아들이지만 미디어 채널을 매핑할 때 실패할 수 있습니다.

URL이 카메라가 아닌 127.0.0.1:8554나 다른 리스트리머를 가리키면, 카메라의 동작만이 아니라 해당 서버의 RTSP 동작을 진단하세요.

디버그 체크리스트

다음 워크플로를 사용하세요:

  1. DESCRIBE와 SDP를 캡처합니다.
  2. SETUP에 사용된 트랙 URL을 식별합니다.
  3. 정확한 Transport 헤더를 검사합니다.
  4. 461 Unsupported Transport 응답을 기록합니다.
  5. UDP와 TCP interleaved 모드를 의도적으로 시도합니다.
  6. 카메라가 멀티캐스트, UDP 유니캐스트, 또는 TCP interleaved를 지원하는지 확인합니다.
  7. 메인 스트림과 서브 스트림을 비교합니다.
  8. 직접 카메라 URL과 NVR/리스트림 URL을 비교합니다.
  9. SETUP이 성공할 때까지 코덱 디버깅을 피합니다.
  10. 벤더 지원을 위해 정확한 요청/응답 쌍을 보존합니다.

최종 진단

RTSP 461 Unsupported Transport은 서버가 SETUP 동안 요청된 미디어 전송을 거부했음을 의미합니다. 근본 원인은 보통 UDP/TCP 모드 불일치, 엄격한 Transport 헤더 구문, 지원되지 않는 interleaved 모드, 지원되지 않는 UDP 모드, 리스트리머 동작, 또는 트랙 특정 서버 제한입니다.

RTSP Inspector는 RTP 패킷이 나타나기 전, RTSP 전송 협상 단계에서 올바른 계층의 진단을 도와줍니다.