2026-06-02

RTSP Audio Track, AAC, and Unknown SDP Tracks: Why a Video Stream Fails Before Playback

How to diagnose RTSP streams with audio tracks, AAC payloads, unknown SDP media sections, and client compatibility failures.

RTSP, SDP, AAC, audio track, unknown track

Some RTSP camera streams fail not because the video is unavailable, but because the session contains more than the client expects. A camera may advertise video, audio, metadata, private tracks, backchannel audio, or vendor-specific media sections in SDP. A strict consumer may reject the whole session when it encounters an unsupported track.

Searches like "RTSP AAC audio not working," "unknown track in SDP," "RTSP stream fails with audio enabled," or "camera works after disabling audio" point to the same diagnostic boundary: SDP describes the session, and every advertised track may affect compatibility.

SDP Can Advertise More Than Video

An RTSP DESCRIBE response can include multiple media sections:

  • m=video
  • m=audio
  • metadata tracks
  • application tracks
  • vendor-private payloads
  • control URLs per track

For each track, the client must decide whether it can set it up, ignore it, or fail. Some clients are tolerant. Others are strict. If a restreaming engine or analytics product expects only a supported video track, unknown SDP sections can cause surprising failure.

AAC Audio Has Its Own Compatibility Boundary

AAC over RTP is common enough, but not every RTSP consumer handles every audio payload cleanly. SDP may need to describe mode, config, clock rate, channels, and payload type. If those fields are missing or unusual, a client may fail during setup or later when depacketizing.

Audio problems can appear as:

  • stream opens only when audio is disabled
  • SDP parse error
  • unsupported payload type
  • SETUP fails on audio track
  • video works in VLC but fails in a stricter ingest path
  • recorder rejects the session even though video track is valid

That last case is important: an unsupported audio track can block access to a usable video track depending on client behavior.

Unknown Tracks Should Be Reported, Not Hidden

If SDP contains an unknown media section, a diagnostic tool should preserve it. Hiding unsupported tracks makes it harder to explain compatibility failures.

Useful evidence includes:

  • full SDP media section
  • payload type
  • rtpmap value
  • fmtp values
  • track control URL
  • whether SETUP was attempted
  • whether failure happened on video, audio, or metadata track

This lets engineers decide whether to disable the track, filter it, change the camera profile, or adjust downstream support.

Disable Audio as a Test, Not as a Diagnosis

Disabling audio is a common workaround. It can be valid, especially for analytics workflows that only need video. But it should be treated as a test:

  • video plus audio fails
  • video-only succeeds
  • SDP changed after disabling audio
  • unsupported payload or track disappeared
  • RTP video path stayed the same

This comparison proves that the failure belongs to session composition, not basic network reachability.

Where RtspInspector Fits

RtspInspector should keep the session structure visible. Its boundary is not playback; it is protocol explanation. For multi-track RTSP streams, it should help answer:

  • how many tracks did SDP advertise?
  • which tracks were supported?
  • which track failed setup?
  • did video RTP arrive?
  • did audio or metadata block the consumer?
  • should the next action be camera profile change or downstream parser change?

When a camera stream "does not work," the video track may be fine. The unsupported track beside it may be the real reason the session failed.