RTSP 오디오 트랙, AAC 및 알 수 없는 SDP 트랙: 재생 전에 비디오 스트림이 실패하는 이유

오디오 트랙, AAC 페이로드, 알 수 없는 SDP 미디어 섹션 및 클라이언트 호환성 오류가 있는 RTSP 스트림을 진단하는 방법.

RTSP, SDP, AAC, 오디오 트랙, 알 수 없는 트랙

일부 RTSP 카메라 스트림은 비디오를 사용할 수 없어서가 아니라 세션에 클라이언트가 예상하는 것보다 많은 내용이 포함되어 있기 때문에 실패합니다. 카메라는 SDP의 비디오, 오디오, 메타데이터, 비공개 트랙, 백채널 오디오 또는 공급업체별 미디어 섹션을 광고할 수 있습니다. 엄격한 소비자는 지원되지 않는 트랙을 발견하면 전체 세션을 거부할 수 있습니다.

"RTSP AAC 오디오가 작동하지 않음", "SDP에서 알 수 없는 트랙", "오디오가 활성화된 상태에서 RTSP 스트림이 실패함" 또는 "오디오를 비활성화한 후 카메라가 작동함"과 같은 검색은 동일한 진단 경계를 가리킵니다. SDP는 세션을 설명하며, 광고된 모든 트랙은 호환성에 영향을 미칠 수 있습니다.

SDP는 비디오 이상의 것을 광고할 수 있습니다.

RTSP 'DESCRIBE' 응답에는 여러 미디어 섹션이 포함될 수 있습니다.

  • m=동영상
  • m=오디오
  • 메타데이터 트랙
  • 애플리케이션 트랙
  • 공급업체 비공개 페이로드
  • 트랙당 제어 URL

각 트랙에 대해 클라이언트는 트랙을 설정할 수 있는지, 무시할 수 있는지 또는 실패할 수 있는지 결정해야 합니다. 일부 클라이언트는 관대합니다. 다른 사람들은 엄격합니다. 리스트리밍 엔진 또는 분석 제품이 지원되는 비디오 트랙만 예상하는 경우 알 수 없는 SDP 섹션으로 인해 예상치 못한 오류가 발생할 수 있습니다.

AAC 오디오에는 자체 호환성 경계가 있습니다.

RTP를 통한 AAC는 충분히 일반적이지만 모든 RTSP 소비자가 모든 오디오 페이로드를 깔끔하게 처리하는 것은 아닙니다. SDP는 모드, 구성, 클럭 속도, 채널 및 페이로드 유형을 설명해야 할 수도 있습니다. 해당 필드가 누락되거나 비정상적인 경우 클라이언트는 설정 중이나 나중에 패킷 해제 시 실패할 수 있습니다.

오디오 문제는 다음과 같이 나타날 수 있습니다.

  • 스트림은 오디오가 비활성화된 경우에만 열립니다.
  • SDP 구문 분석 오류
  • 지원되지 않는 페이로드 유형
  • 오디오 트랙에서 'SETUP'이 실패함
  • 비디오는 VLC에서 작동하지만 더 엄격한 수집 경로에서는 실패합니다.
  • 비디오 트랙이 유효하더라도 레코더가 세션을 거부합니다.

마지막 경우가 중요합니다. 지원되지 않는 오디오 트랙은 클라이언트 동작에 따라 사용 가능한 비디오 트랙에 대한 액세스를 차단할 수 있습니다.

알 수 없는 트랙은 숨겨지지 않고 보고되어야 합니다.

SDP에 알 수 없는 미디어 섹션이 포함된 경우 진단 도구를 사용하여 이를 보존해야 합니다. 지원되지 않는 트랙을 숨기면 호환성 실패를 설명하기가 더 어려워집니다.

유용한 증거는 다음과 같습니다.

  • 전체 SDP 미디어 섹션
  • 페이로드 유형
  • rtpmap
  • fmtp
  • 트랙 제어 URL
  • 'SETUP'이 시도되었는지 여부
  • 비디오, 오디오 또는 메타데이터 트랙에서 오류가 발생했는지 여부

이를 통해 엔지니어는 트랙 비활성화, 필터링, 카메라 프로필 변경 또는 다운스트림 지원 조정 여부를 결정할 수 있습니다.

진단이 아닌 테스트로 오디오를 비활성화합니다.

오디오를 비활성화하는 것이 일반적인 해결 방법입니다. 특히 비디오만 필요한 분석 워크플로우의 경우 유효할 수 있습니다. 하지만 이는 테스트로 간주되어야 합니다.

  • 비디오와 오디오가 실패합니다
  • 비디오만 성공
  • 오디오를 비활성화한 후 SDP가 변경되었습니다.
  • 지원되지 않는 페이로드 또는 트랙이 사라졌습니다.
  • RTP 비디오 경로는 동일하게 유지되었습니다.

이 비교는 실패가 기본 네트워크 연결 가능성이 아닌 세션 구성에 속한다는 것을 증명합니다.

RTSP 검사기가 적합한 곳

RTSP 검사기는 세션 구조를 계속 표시해야 합니다. 그 경계는 재생이 아닙니다. 프로토콜 설명입니다. 다중 트랙 RTSP 스트림의 경우 다음 답변에 도움이 됩니다.

  • SDP는 몇 개의 트랙을 광고했습니까?
  • 어떤 트랙이 지원되었나요?
  • 어떤 트랙이 설정에 실패했나요?
  • 비디오 RTP가 도착했나요?
  • 오디오나 메타데이터가 소비자를 차단했나요?
  • 다음 작업은 카메라 프로필 변경이어야 할까요, 아니면 다운스트림 파서 변경이어야 할까요?

카메라 스트림이 "작동하지 않는" 경우 비디오 트랙은 괜찮을 수 있습니다. 옆에 있는 지원되지 않는 트랙이 세션이 실패한 실제 이유일 수 있습니다.