RTSP 오디오 트랙, AAC 및 알 수 없는 SDP 트랙: 재생 전에 비디오 스트림이 실패하는 이유
오디오 트랙, AAC 페이로드, 알 수 없는 SDP 미디어 섹션 및 클라이언트 호환성 오류가 있는 RTSP 스트림을 진단하는 방법.
일부 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가 도착했나요?
- 오디오나 메타데이터가 소비자를 차단했나요?
- 다음 작업은 카메라 프로필 변경이어야 할까요, 아니면 다운스트림 파서 변경이어야 할까요?
카메라 스트림이 "작동하지 않는" 경우 비디오 트랙은 괜찮을 수 있습니다. 옆에 있는 지원되지 않는 트랙이 세션이 실패한 실제 이유일 수 있습니다.