RTSP-Stream-Fehlerbehebung: Das vollständige Diagnosehandbuch für Kamera-Streams
Vollständiger RTSP-Diagnose-Workflow: Verbindungsschicht, Fehler der Steuerebene (400/401/404/454/461/500/503), Ausfälle der Medienebene (H.264/H.265/RTP/RTCP), Sitzungsverwaltung und Vergleich mit Wireshark/VLC. Jedes RTSP-Problem wird einer Diagnoseseite zugeordnet.
These problems happen before any RTSP command is sent. TCP handshake fails, TLS negotiation fails, or the network path is blocked.
RTSP connects but no video — The most common symptom. Camera appears online but no media stream.
RTSP over TLS (RTSPS) debugging — TLS certificate errors, handshake failures, cipher suite negotiation.
Steuerungsebene: RTSP-Befehlsfehler
Hierbei handelt es sich um Fehler auf Protokollebene, die von der Kamera als Reaktion auf DESCRIBE, SETUP oder PLAY zurückgegeben werden. Der Fehlercode sagt Ihnen genau, was schief gelaufen ist.
400 Ungültige Anfrage
- RTSP 400 Bad Request: DESCRIBE failed – Fehlerhafte URL, nicht unterstützte Header, Proxy-Interferenz. Deckt die URL-Formate Axis, Dahua und Hikvision ab.
401 Nicht autorisiert
RTSP 401-Authentifizierungsschleife – Digest vs. Basisauthentifizierung, Nonce-/Realm-Parameter, warum die Authentifizierung in VLC erfolgreich ist, in Ihrer App jedoch fehlschlägt.
Detaillierter Einblick in die RTSP-Digest-Authentifizierung – Nonce-Ablauf, Realm-Matching, stale=true-Behandlung.
401/404-Kamera-URL-Diagnose – Wenn die URL in einem Client funktioniert, in einem anderen jedoch nicht.
404 Nicht gefunden
401/404-Kamera-URL-Diagnose – Falscher Stream-Pfad, kameraspezifische URL-Formate.
Aggregate-Kontroll-URL und SDP SETUP 404 – Wenn die Kontroll-URL in SDP nicht mit der DESCRIBE-URL übereinstimmt.
454 Sitzung nicht gefunden
- RTSP 454-Sitzung nicht gefunden – Sitzungs-ID stimmt nicht überein, abgelaufene Sitzungen, PLAY vor SETUP.
461 Nicht unterstützter Transport
- RTSP 461 Nicht unterstützter Transport: SETUP fehlgeschlagen – UDP- vs. TCP-Transportaushandlung, ffmpeg „Methode SETUP fehlgeschlagen: 461“, Frigate/Scrypted/NVR-Integrationsfehler.
500/503 Serverfehler
RTSP 500 Internal Server Error – Kameraseitiger Fehler. Abschließend lässt sich sagen, dass die Kamera-Firmware fehlerhaft ist.
RTSP 503-Dienst nicht verfügbar – Erschöpfung der Kameraressourcen, zu viele gleichzeitige Streams, Bandbreitenbeschränkungen.
Transport und Vernetzung
UDP-RTP durch Firewall/NAT blockiert – Die RTSP-Steuerung funktioniert, aber UDP-RTP-Medien werden blockiert. Firewall-Regeln, NAT-Traversal, RTSP-Protokoll-Portkonfiguration, TCP-Interleaved-Fallback.
TCP-Interleaved-Channel-Mismatch – Wenn interleaved RTP/RTCP-Kanäle zwischen Client und Server nicht übereinstimmen.
Nicht übereinstimmende Antwort des Transportservers – Der Server antwortet mit anderen Transportparametern als angefordert.
Multicast UDP-Debugging – Multicast RTSP/RTP-Konfiguration, IGMP, TTL und Netzwerkinfrastruktur.
RTSP-Timeout: UDP vs. TCP interleaved – Warum das Stream-Timeout bei UDP vs. TCP unterschiedlich ist.
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
RTP dynamic payload type mismatch — "Unknown write" RTP/NDPI errors. How to map dynamic payload IDs to SDP rtpmap lines.
RTP packet loss diagnosis — RTP error in primary stream. Freezes, macroblocks, decoder errors. Read sequence numbers and RTCP reports to find the loss.
RTP timestamp drift — Audio/video sync loss, frame timing errors, clock rate mismatch.
RTP marker bit and frame boundaries — How the RTP marker bit signals H.264 access unit boundaries.
RTP sequence number wraparound — 16-bit sequence number rollover and how to detect actual loss vs wraparound.
RTP SSRC change mid-stream — When the camera changes SSRC mid-stream and the client loses sync.
H.264 and H.265 codec issues
H.264 FU-A fragmentation and reassembly — Missing fragments, start/end bit bugs, NAL unit reassembly failures, "invalid NAL unit" errors.
H.264 packetization mode 0 vs 1 — Single NAL vs non-interleaved mode. SDP parameter configuration.
H.264 SPS/PPS missing — Decoder errors when parameter sets are missing from SDP or RTP stream.
H.265 stream not working — H.265/HEVC failures and H.264 fallback behavior.
SDP H.264/H.265 diagnostics — Reading SDP for H.264/H.265: profile-level-id, sprop-parameter-sets, packetization-mode.
Audio and metadata tracks
- Audio track AAC unknown track SDP — AAC audio tracks appearing as "unknown" in clients.
ONVIF and camera-specific
ONVIF works but RTSP URL fails — ONVIF discovery succeeds but direct RTSP connection fails.
Main stream vs sub stream — When the main stream works but the sub stream doesn't, or vice versa.
RTCP und Sitzungsverwaltung
RTCP-Absenderberichte: Jitter und Verlust – Lesen von RTCP SR-Paketen, um die Netzwerkqualität aus der Sicht der Kamera zu verstehen.
RTCP BYE: Stream endet unerwartet – Wenn die Kamera RTCP BYE sendet und den Stream beendet.
RTCP CNAME und Audio-/Video-Synchronisierung – Verwendung von RTCP CNAME zum Synchronisieren von Audio- und Videospuren.
RTSP TEARDOWN und Sitzungsbereinigung – Kameraressourcenlecks, erneute Verbindung schlägt fehl, ausgelasteter Stream-Status.
RTSP-Sitzungstimeout und Keepalive – Warum Streams nach ca. 30 Sekunden stoppen und wie man sie am Leben hält.
RTSP Range Header und NPT – Steuern der Wiedergabeposition mit Range- und NPT-Parametern.
RTSP Scale-Header und Trick Play – Schnellvorlauf, Rücklauf und Geschwindigkeitssteuerung über den Scale-Header.
Comparison and alternatives
RTSP Inspector vs Wireshark/VLC/ONVIF Device Manager — When to use a dedicated RTSP diagnostic tool vs a general network analyzer.
Wireshark RTSP alternative — Why RTSP diagnostics need more than packet capture.
Erste Schritte
Neu bei der RTSP-Diagnose? Beginnen Sie hier:
- Systematischer Diagnose-Workflow – Das dreischichtige Modell und die Beweissammlung.
- Mit einem Stream verbinden – Einrichten Ihrer ersten RTSP-Verbindung.
- Anleitung zur Fehlerbehebung – Häufige Fehler und deren Behebung.
Reproduzierbarer Nachweis für „RTSP-Stream-Fehlerbehebung: Das vollständige Diagnosehandbuch für Kamera-Streams“
Die direkte Antwort lautet: Eine Kamerastream-Störung wird nicht durch ein einzelnes Player-Fenster oder einen Statuscode bewiesen. Die belastbare Diagnose verbindet RTSP-Anfrage und Antwort, die ausgehandelte Transportart, eine gültige Session und anschließend RTP-Sequenznummern, Zeitstempel sowie RTCP-Belege. Beginnen Sie bei „RTSP-Stream-Fehlerbehebung: Das vollständige Diagnosehandbuch für Kamera-Streams“ an der Schicht, die dem sichtbaren Symptom am nächsten liegt, behalten Sie aber eine gemeinsame Zeitleiste, damit Steuerungs-, Netzwerk- und Decoderfehler nicht vermischt werden.
Erstellen Sie vor Änderungen an Kamera, Firewall oder VMS einen kleinen Ausgangstest. Notieren Sie die bereinigte RTSP-URL, Uhrzeit, Pfad, angeforderten Transport, Serverantwort und den Zeitpunkt des ersten Medienpakets. Testen Sie UDP und TCP interleaved getrennt, sofern das Gerät beides anbietet. Ändern Sie nicht gleichzeitig Pfad, Zugangsdaten und Transport. Sonst zeigt ein erfolgreicher zweiter Versuch nicht, welche Variable den Fehler beseitigt hat.
| Prüfschicht | Zu sichernder Nachweis | Entscheidungsfrage |
|---|---|---|
| RTSP | Methode, Status, Header, CSeq und Session | Hat der Server genau diese Operation akzeptiert? |
| SDP | control, Payload-Typ, Clock Rate und Codec | Beschreibt der Server den erwarteten Medientrack? |
| Transport | client_port, server_port oder interleaved | Verwenden beide Seiten denselben Kanal? |
| RTP | SSRC, Sequenz, Timestamp und Marker | Kommen Medieneinheiten in erklärbarer Reihenfolge an? |
| RTCP | Sender Report, CNAME und BYE | Sind Uhr, Identität und Sitzungsende nachvollziehbar? |
| Decoder | SPS/PPS/VPS und Packetization Mode | Lassen sich die angekommenen Nutzdaten initialisieren? |
Trennen Sie „keine Medien angekommen“ von „Medien angekommen, aber nicht decodierbar“. Fehlt RTP nach erfolgreichem SETUP und PLAY, prüfen Sie UDP-Pfad, NAT, Firewall und einen abweichenden Transport-Reply. RTP mit Sequenzlücken belegt Verlust oder Reordering. Eine lückenlose Folge ohne Bild verschiebt die Prüfung auf Payload-Typ, Clock Rate, Frame-Grenzen und H.264-/H.265-Parameter. Diese Grenze ist aussagekräftiger als eine allgemeine Player-Meldung.
Wie formuliert man eine zitierfähige Kurzantwort?
Nennen Sie in drei Sätzen die letzte erfolgreiche Operation, den ersten fehlgeschlagenen Beleg und den nächsten trennenden Test. Beispielstruktur: „DESCRIBE, SETUP und PLAY waren erfolgreich. An den angekündigten Client-Ports kam kein RTP an. Ein Test über TCP interleaved trennt UDP-Blockierung von einem falschen Medienpfad.“ Behaupten Sie keinen Kamera- oder Netzwerkdefekt ohne passende Antwort oder Paketbeleg.
Welche Angaben machen den Fehler reproduzierbar?
Sichern Sie OPTIONS, DESCRIBE, SETUP und PLAY samt SDP, Transport-Antwort und bereinigter Session-ID. Für Medien genügen zunächst SSRC, erste und letzte Sequenznummer, Clock Rate, Lückenanzahl und Aufnahmedauer. Vermerken Sie, ob VLC oder ein anderes VMS funktioniert. Das ist ein Differenztest, aber kein Beweis, dass der erfolgreiche Client jede Protokollgrenze korrekt behandelt.
Wann liegt der nächste Test auf Server- oder Clientseite?
Prüfen Sie den Server, wenn er eine Methode klar ablehnt, einen nicht vorhandenen control-Pfad liefert, das Transportangebot widersprüchlich beantwortet oder SSRC beziehungsweise Clock Rate ohne erklärten Übergang wechselt. Prüfen Sie den Client, wenn er einen alten Nonce wiederverwendet, Session-Header verliert, UDP anfordert ohne Ports zu öffnen oder jedes NAL-Ende als Access-Unit-Ende behandelt. Für Zwischenfehler bleiben Zeitstempel und Paketfolge unverzichtbar.
Wie wird der Bericht vor der Übergabe geprüft?
Wiederholen Sie den Test mit einer frischen Verbindung und vergleichen Sie beide Abläufe nur bis zur ersten Abweichung. Entfernen Sie Passwörter und vollständige Authorization-Werte. Verknüpfen Sie jede Aussage mit CSeq, Sequenznummer oder Timestamp. Der passende RTSP-Leitfaden erklärt angrenzende Schritte; RTSP Inspector dient als lokaler Arbeitsbereich zum Testen eines RTSP-Streams und zum Sammeln der Belege, ohne den Kamerastream zu einem öffentlichen Dienst hochzuladen.
<!-- rtsp-localized-evidence-foundation-v1:end --><!-- rtsp-localized-layer-verdicts-v1:start -->Von der Beobachtung zum überprüfbaren Schichturteil
Schreiben Sie bei „RTSP-Stream-Fehlerbehebung: Das vollständige Diagnosehandbuch für Kamera-Streams“ zuerst die Beobachtung und erst danach die Interpretation. Eine Beobachtung kann eine zweite Person im Mitschnitt finden: RTSP-Status mit CSeq, SDP-Wert, Transport-Antwort, Lücke zwischen Sequenznummern, SSRC-Wechsel oder Abweichung zwischen RTP-Timestamp und RTCP Sender Report. „Der Server ist langsam“ oder „der Codec ist inkompatibel“ bleibt eine Hypothese, bis ein konkreter Beleg sie besser erklärt als die Alternativen.
Teilen Sie den Ablauf in Grenzen. Zuerst muss TCP geöffnet werden. Danach müssen OPTIONS oder DESCRIBE akzeptiert werden. SDP muss einen verwendbaren Track, Control-Pfad, Payload-Typ und eine Clock Rate beschreiben. SETUP braucht eine passende Transport-Antwort, PLAY eine gültige Session. Erst danach folgen RTP-Ankunft, Reihenfolge, Timing und Decoderbereitschaft. Stoppen Sie an der ersten Grenze ohne Erfolgsbeleg; spätere Pakete dürfen eine frühere Lücke nicht verdecken.
Halten Sie bei Vergleichstests Quelle und Zeitbereich möglichst konstant. UDP gegen TCP interleaved wird mit identischem Pfad und denselben Zugangsdaten geprüft. Main Stream gegen Sub Stream benötigt denselben Client und Transport. Beim Vergleich VLC gegen VMS dokumentieren Sie die tatsächlich gesendeten Methoden, Header und URLs. Ein Unterschied bei control URL, Authorization, Session oder Keepalive erklärt das Ergebnis oft besser als der Produktname.
Ausschlussmatrix
Beginnen Sie mit zwei Hypothesen. Wenn keine Medien ankommen, könnten UDP-Pakete blockiert sein oder der Server könnte an andere Ports senden. TCP interleaved prüft die erste Möglichkeit; der Vergleich von Transport-Angebot, Antwort, IP-Adressen und Ports prüft die zweite. Bei beschädigtem Bild trennen Sequenznummern RTP-Verlust von fehlender Codec-Initialisierung, während SPS/PPS/VPS vor dem ersten Frame die Parameterhypothese prüft.
Notieren Sie für jede Hypothese einen bestätigenden und einen widerlegenden Beleg. Eine Aussage, die kein Paket widerlegen kann, ist zu breit. „NAT verwirft UDP“ wird durch RTP am Client-Port widerlegt. „H.264-Parameter fehlen“ wird durch gültige SPS und PPS vor einem IDR widerlegt. Diese Form hält den Bericht priorisiert und verhindert eine ungeordnete Liste möglicher Ursachen.
Zeit korrekt einordnen
RTSP CSeq ordnet Steuerungstransaktionen, RTP Sequence ordnet Pakete, RTP Timestamp beschreibt Medienabtastzeit und die Capture-Uhr die Ankunft am Messpunkt. Setzen Sie diese Uhren nicht gleich. Schwankende Ankunftszeit beweist keinen Timestamp-Drift; ein Timestamp-Sprung beweist ohne Sequenzbeleg keinen Paketverlust. Für Audio-/Video-Synchronität verbinden RTCP Sender Reports die getrennten RTP-Uhren mit einer gemeinsamen Referenz.
Abnahmepaket
Schließen Sie die Untersuchung erst, wenn sich die Korrektur in einer neuen Verbindung mit einer dokumentierten Änderung wiederholen lässt. Der Bericht nennt Eingaben, letzte erfolgreiche Grenze, ersten fehlgeschlagenen Beleg, Änderung, Wiederholungsergebnis und offene Tests. Fügen Sie einen kleinen relevanten Transkriptausschnitt oder Paketstatistiken bei. Entfernen Sie Geheimnisse, aber behalten Sie CSeq, bereinigte Session, SSRC und Zeitbereich.
Mit der RTSP-Fehlersuche lässt sich der Ablauf erneut prüfen; RTSP-Inspector-Berichte übergeben die belegte Fehlergrenze an Kamera-, Netzwerk- oder VMS-Teams.
<!-- rtsp-localized-layer-verdicts-v1:end -->