RTSP Stream Troubleshooting: The Complete Diagnostic Guide for Camera Streams

Complete RTSP diagnostic workflow: connection layer, control plane errors (400/401/404/454/461/500/503), media plane failures (H.264/H.265/RTP/RTCP), session management, and comparison with Wireshark/VLC. Every RTSP problem mapped to a diagnostic page.

RTSP, troubleshooting, camera, diagnostic, RTP, SDP, H.264, H.265, guide

Short answer: troubleshoot an RTSP camera stream in protocol order. First prove that the client can reach the camera and complete any TLS handshake. Next record the DESCRIBE, SETUP, and PLAY exchanges, including status codes, Session and Transport headers, and the SDP body. Finally verify whether RTP and RTCP packets arrive with the payload type, sequence, timestamp, SSRC, clock rate, and codec parameters advertised by SDP. Stop at the first layer whose expected evidence is missing; later symptoms are often consequences rather than separate root causes.

This is the hub page for RTSP camera stream diagnostics. Every RTSP problem follows a pattern — it fails at the connection layer, the control plane, or the media plane. This guide maps every common failure to a specific diagnostic page and tells you what evidence to collect.

Quick triage: where is the failure?

Before reading any specific page, determine which layer is failing:

  1. Can the client reach the camera? → Connection layer problems
  2. Does DESCRIBE return valid SDP? → Control plane problems
  3. Do RTP packets arrive and decode correctly? → Media plane problems

If you don't know which layer is failing, start with the systematic diagnostic workflow.

First failed expectation Evidence to preserve What the failure narrows Do not conclude yet
TCP or TLS connection never completes Destination, port, timestamps, handshake result, certificate error Addressing, routing, firewall, listener, or TLS setup That the RTSP path or credentials are wrong
DESCRIBE does not return usable SDP Request URI, authorization exchange, status, headers, SDP bytes URL, authentication, server response, or SDP generation That RTP is blocked; media setup has not succeeded
SETUP fails or returns different transport Track control URI, requested Transport, server Transport, Session Track resolution and UDP/TCP negotiation That the codec is unsupported
PLAY succeeds but no RTP arrives PLAY response, negotiated ports/channels, packet timestamps Firewall/NAT, server media start, or interleaved channel handling That a decoder caused the silence
RTP arrives but frames fail SDP mappings, payload type, sequence, timestamp, marker, SSRC, NAL evidence Packet loss, payload mapping, codec parameters, or reassembly That the camera is generally offline

The evidence order matters when the user-facing symptom is simply “camera connects but there is no video.” A client can display that message after a 401 loop, a bad SDP control URI, a UDP transport mismatch, absent RTP, or a decoder failure. Treating the final message as the diagnosis causes configuration changes at several layers and makes the next capture harder to compare.


Connection layer: reaching the camera

These problems happen before any RTSP command is sent. TCP handshake fails, TLS negotiation fails, or the network path is blocked.


Control plane: RTSP command errors

These are protocol-level errors returned by the camera in response to DESCRIBE, SETUP, or PLAY. The error code tells you exactly what went wrong.

400 Bad Request

401 Unauthorized

404 Not Found

454 Session Not Found

461 Unsupported Transport

500 / 503 Server Errors

Transport and networking


Media plane: RTP, codec, and payload problems

Control plane works perfectly — DESCRIBE returns SDP, SETUP succeeds, PLAY returns 200 OK — but video is broken. These are media plane problems.

RTP packet analysis

H.264 and H.265 codec issues

Audio and metadata tracks

ONVIF and camera-specific


RTCP and session management


Comparison and alternatives


Build a reviewable RTSP case

A useful RTSP ticket lets another engineer replay the reasoning without access to the original camera. Record the camera model and firmware, client build, network path, full request URI with credentials removed, transport preference, and one bounded reproduction. Keep the first abnormal request/response or media event with enough preceding context to explain how the session reached that state.

Case item Minimum useful detail Reason it belongs in the handoff
Reproduction boundary Start action, expected result, first visible failure Separates a repeatable protocol problem from an intermittent report
Control transcript Method, URI, status, key headers, Session and Transport values Shows whether client and camera agreed on one session and transport
SDP snapshot Media sections, control attributes, payload mappings, codec parameters Defines what the client was told to SETUP and decode
Media observation First packet time, count, sequence gaps, timestamps, SSRC, RTCP Distinguishes no media from damaged or misinterpreted media
Comparison One working client, transport, stream profile, or firmware when available Gives the investigation a controlled difference
Current conclusion Observed fact, likely cause, uncertainty, next test Prevents an inference from being presented as captured evidence

RTSP Inspector is designed around that bounded protocol case. It can keep control-plane exchanges, SDP, RTP/RTCP observations, reports, and replay-oriented evidence together. It is not a general video player and should not be used to hide a missing protocol step behind successful picture rendering. The case replay help explains how retained observations support a repeatable handoff.

RTSP troubleshooting questions

Why does an RTSP URL work in VLC but fail in another client?

The two clients may send different authorization headers, resolve SDP control URLs differently, request UDP versus TCP interleaved transport, select different media tracks, or tolerate malformed responses differently. Capture both attempts and compare the first request or response that diverges. “Works in VLC” proves that one client found a viable path; it does not prove that every RTSP assumption in the camera response is correct.

Does a 200 OK response to PLAY prove the stream is healthy?

No. It proves that the camera accepted the PLAY request for that control session. You still need to verify that media arrives on the negotiated UDP ports or interleaved channels and that its payload mapping, sequence, timestamps, and codec data match SDP.

Should I switch from UDP to TCP whenever video is missing?

Use the switch as a controlled test, not a permanent explanation. If TCP interleaved works while UDP does not, the difference points toward port negotiation, firewall, NAT, or UDP path handling. Preserve both SETUP exchanges and the media result so the network issue remains diagnosable.

Can packet capture alone explain every decoder error?

It can establish many transport and payload facts, but not every decoder implementation decision. Verify sequence continuity, fragmentation, marker use, payload type, SDP parameters, and parameter sets first. If those are coherent, compare decoder logs and a second known client without rewriting the capture evidence.

What is the fastest first check for a stream that stops after 30 seconds?

Inspect the Session timeout, keepalive behavior, RTCP events, and any TEARDOWN or server error near the stop. A repeatable duration often points to session maintenance or resource policy rather than random packet loss. Use the linked keepalive and cleanup guides to test the exact control sequence.


Getting started

New to RTSP diagnostics? Start here:

  1. Systematic diagnostic workflow — The three-layer model and evidence collection.
  2. Connect to a stream — Setting up your first RTSP connection.
  3. Troubleshooting guide — Common failures and their fixes.
<!-- multilingual-related-reading:start -->

Related guides

Continue with the same-language pages below. They cover adjacent stages without changing the canonical owner of this topic:

<!-- multilingual-related-reading:end -->