RTSP vs. UDP: Warum RTSP eine Verbindung herstellt, aber das Video schwarz ist – RTP wird durch Firewall, NAT und VPN blockiert
Behebung, dass RTSP kein Video anzeigt, wenn die Steuerung eine Verbindung herstellt, UDP-RTP jedoch blockiert ist. Deckt Firewall-Regeln, RTSP-Protokollport, NAT-Traversal, VPN-RTP-Verlust, TCP-Interleaved-Fallback und Kamera-UDP-Quellports ab.
Eines der schwerwiegendsten RTSP-Probleme lässt sich einfach beschreiben: "Die Kamera stellt eine Verbindung her, aber es gibt kein Video. In vielen Fällen funktioniert die RTSP-Steuerung über TCP, UDP-RTP-Medienpakete erreichen jedoch nie den Client. Der Benutzer sieht eine erfolgreiche Anmeldung, SDP, vielleicht sogar „PLAY 200 OK“ und dann eine Zeitüberschreitung. Suchanfragen wie „RTSP stellt Verbindung her, aber kein Video“, „RTP UDP blockiert Firewall“, „RTSP funktioniert im LAN, nicht über VPN“, „Kamera RTSP NAT kein Video“ und „RTSP TCP interleaved fix“ deuten alle auf diese Ebenenaufteilung hin." RTSP ist kein einzelner Datenstrom. Der Steuerkanal und der Medienkanal können unterschiedliche Transportwege nutzen. Wenn der Steuerkanal funktioniert und der Medienpfad ausfällt, zeigt ein Player möglicherweise denselben schwarzen Bildschirm wie bei einem Codec-Fehler an. Der Paketbeweis ist unterschiedlich.
Der RTSP-Inspektor ist nützlich, da er den Erfolg der RTSP-Steuerung von der RTP-Medienbereitstellung trennt.
Kontrollarbeiten bedeuten nicht, dass Medien funktionieren
Ein normaler UDP-RTP-Fluss könnte wie folgt aussehen:
- Der Client öffnet eine RTSP-TCP-Verbindung zum Kamera-Port 554.
- Der Client sendet „DESCRIBE“.
- Die Kamera gibt SDP zurück.
- Der Client sendet „SETUP“ mit UDP-Client-Ports.
- Die Kamera gibt UDP-Server-Ports zurück.
- Der Client sendet „PLAY“.
- Die Kamera sendet RTP-Pakete an Client-UDP-Ports.
Wenn die Schritte 1 bis 6 erfolgreich sind und Schritt 7 fehlschlägt, handelt es sich bei dem Stream nicht um ein RTSP-Anmeldeproblem. Es handelt sich um ein Medienpfadproblem.
Der Transport-Header zeigt den Hafenplan
Die „SETUP“-Anfrage kann Folgendes umfassen:
Transport: RTP/AVP;unicast;client_port=50000-50001
The camera may answer:
Transport: RTP/AVP;unicast;client_port=50000-50001;server_port=6970-6971
Die Kamera sollte RTP/RTCP an die UDP-Ports des Clients senden. Firewalls müssen diesen Datenverkehr zulassen. NAT-Geräte müssen es korrekt zuordnen. VPNs müssen es tragen. Wenn nicht, kann die RTSP-Steuerung fehlerfrei erscheinen, während die Medien stumm sind.
Häufige Firewall- und NAT-Fehler
Zu den häufigsten Ursachen gehören:
- Die Firewall lässt TCP 554 zu, blockiert jedoch den UDP-RTP-Portbereich.
- NAT leitet den RTSP-Port weiter, aber keine RTP-Ports.
- Die Kamera sendet RTP von unerwarteten Quellports.
- Der Client gibt an, dass private UDP-Ports von der Kamera aus nicht erreichbar sind.
- VPN erlaubt TCP, verzichtet jedoch auf UDP.
- Die Unternehmensfirewall blockiert hohe UDP-Ports.
- Die Kamera befindet sich hinter doppeltem NAT.
- RTP-Pakete kehren zur falschen Schnittstelle zurück.
Das sichtbare Symptom ist oft „Kein Video nach der Wiedergabe“.
Warum TCP Interleaved oft funktioniert
RTSP über TCP interleaved überträgt RTP und RTCP innerhalb der RTSP-TCP-Verbindung. Dadurch werden separate UDP-Pinholes vermieden.
Wenn der UDP-Modus fehlschlägt und TCP-Interleaved funktioniert, ist das ein starker Beweis dafür, dass Codec und Kamera wahrscheinlich in Ordnung sind. Das Problem ist wahrscheinlich der UDP-Medientransport.
Allerdings hat TCP Interleaved seine eigenen Parsing-Anforderungen, einschließlich der Kanalzuordnung. Es handelt sich um eine Problemumgehung für UDP-Pfadprobleme und nicht um einen Beweis dafür, dass jede Ebene fehlerfrei ist.
RTCP kann helfen, den Weg zu beweisen
Wenn RTP blockiert ist, RTCP jedoch eintrifft oder umgekehrt, überprüfen Sie die Portpaare. Einige Firewalls behandeln die beiden Richtungen unterschiedlich. RTCP-Empfängerberichte können auch Paketverluste und Jitter anzeigen, wenn Medien teilweise ankommen.
Aufzeichnen:
- Anzahl der RTP-Pakete.
- Anzahl der RTCP-Pakete.
- RTP-Quell-IP und -Port.
- RTP-Ziel-IP und -Port.
- Lücken in der Sequenznummer.
- Zeit vom „PLAY“ bis zum ersten Paket.
Debug-Checkliste
Verwenden Sie diesen Workflow:
- Bestätigen Sie, dass RTSP „DESCRIBE“, „SETUP“ und „PLAY“ erfolgreich sind.
- Überprüfen Sie den „Transport“-Header und die Client/Server-UDP-Ports.
- Überprüfen Sie, ob RTP-Pakete nach „PLAY“ ankommen.
- Prüfen Sie, ob RTCP-Pakete ankommen.
- Vergleichen Sie den LAN-Test mit dem VPN/WAN-Test.
- Testen Sie den TCP-Interleaved-Transport.
- Überprüfen Sie die Firewall-Regeln für den UDP-RTP-Portbereich.
- Überprüfen Sie die NAT-Portweiterleitung und das Verhalten des Quellports.
- Überprüfen Sie die vom Client angekündigten erreichbaren UDP-Ports.
- Debuggen Sie den Codec erst, wenn die RTP-Nutzdaten tatsächlich eintreffen.
Endgültige Diagnose
Wenn RTSP eine Verbindung herstellt, UDP RTP jedoch blockiert ist, kann die Kamera perfekt erreichbar sein, während Medien nie ankommen. Die Lösung liegt in der Erreichbarkeit des UDP-Ports, dem NAT-Verhalten, der Firewall-Richtlinie, den VPN-Regeln oder dem Wechsel zu TCP Interleaved.
RTSP Inspector hilft, indem es die RTSP-Kontrollsequenz und den RTP-Paketnachweis zusammen anzeigt, sodass „kein Video“ zu einer konkreten Transportdiagnose wird.
<!-- rtsp-localized-evidence-foundation-v1:start -->Reproduzierbarer Nachweis für „RTSP vs. UDP: Warum RTSP eine Verbindung herstellt, aber das Video schwarz ist – RTP wird durch Firewall, NAT und VPN blockiert“
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 vs. UDP: Warum RTSP eine Verbindung herstellt, aber das Video schwarz ist – RTP wird durch Firewall, NAT und VPN blockiert“ 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 --><!-- multilingual-blog-closeout:start -->Direkte Antwort und Abnahmegrenze
Die kurze Antwort zu „RTSP vs. UDP: Warum RTSP eine Verbindung herstellt, aber das Video schwarz ist – RTP wird durch Firewall, NAT und VPN blockiert“ lautet: Behebung, dass RTSP kein Video anzeigt, wenn die Steuerung eine Verbindung herstellt, UDP-RTP jedoch blockiert ist. Deckt Firewall-Regeln, RTSP-Protokollport, NAT-Traversal, VPN-RTP-Verlust, TCP-Interleaved-Fallback und Kamera-UDP-Quellports ab. Behandeln Sie diese Aussage als zu prüfendes Ergebnis und nicht als Versprechen für jede Eingabe, jedes Gerät, jedes Projekt oder jede Umgebung. Ein vollständiges Ergebnis dokumentiert Ausgangszustand, exakte Aktion, sichtbare Ausgabe und die Bedingung, die den Abschluss in RTSP Inspector belegt.
Evidenzorientiertes Vorgehen
Beginnen Sie mit einem kleinen, wiederholbaren Fall, bevor Sie ein vollständiges Projekt verändern. Protokollieren Sie Anwendungsversion, Betriebssystem, Eingabe- oder Geräteidentität, relevante Einstellungen und erwartetes Ergebnis. Führen Sie eine bewusste Aktion aus, bewahren Sie den ersten unerwarteten Übergang und vergleichen Sie möglichst mit einem bekannten guten Lauf. Mehrere gleichzeitige Änderungen verdecken, welche Bedingung den Fehler erzeugt oder behoben hat.
Prüfpunkt 1: RTSP vs. UDP: Warum RTSP eine Verbindung herstellt, aber das Video schwarz ist – RTP wird
Trennen Sie bei „RTSP vs. UDP: Warum RTSP eine Verbindung herstellt, aber das Video schwarz ist – RTP wird durch Firewall, NAT und VPN blockiert“ eine Produktentscheidung von Grenzen des Betriebssystems, der Hardware, Quelldatei, Berechtigung oder Arbeitsweise. Bestätigen Sie zuerst, welche Schicht die Evidenz geliefert hat. So wird ein benachbartes Symptom nicht fälschlich zur bewiesenen Ursache.
Prüfpunkt 2: Behebung, dass RTSP kein Video anzeigt, wenn die Steuerung eine Verbindung herstellt, UDP-
Schließen Sie „Behebung, dass RTSP kein Video anzeigt, wenn die Steuerung eine Verbindung herstellt, UDP-RTP jedoch blockiert ist. Deckt Firewall-Regeln, RTSP-Protok“ erst, wenn gespeichertes, exportiertes oder erneut geöffnetes Ergebnis weiterhin dem beobachteten Zustand entspricht. Vorübergehendes UI-Feedback hilft, dauerhafte Evidenz ist aber stärker. Dokumentieren Sie verbleibende Grenzen für die nächste Person.
Prüfpunkt 3: Kontrollarbeiten bedeuten nicht, dass Medien funktionieren
Trennen Sie bei „Kontrollarbeiten bedeuten nicht, dass Medien funktionieren“ eine Produktentscheidung von Grenzen des Betriebssystems, der Hardware, Quelldatei, Berechtigung oder Arbeitsweise. Bestätigen Sie zuerst, welche Schicht die Evidenz geliefert hat. So wird ein benachbartes Symptom nicht fälschlich zur bewiesenen Ursache.
Prüfpunkt 4: Der Transport-Header zeigt den Hafenplan
Schließen Sie „Der Transport-Header zeigt den Hafenplan“ erst, wenn gespeichertes, exportiertes oder erneut geöffnetes Ergebnis weiterhin dem beobachteten Zustand entspricht. Vorübergehendes UI-Feedback hilft, dauerhafte Evidenz ist aber stärker. Dokumentieren Sie verbleibende Grenzen für die nächste Person.
Prüfpunkt 5: Häufige Firewall- und NAT-Fehler
Trennen Sie bei „Häufige Firewall- und NAT-Fehler“ eine Produktentscheidung von Grenzen des Betriebssystems, der Hardware, Quelldatei, Berechtigung oder Arbeitsweise. Bestätigen Sie zuerst, welche Schicht die Evidenz geliefert hat. So wird ein benachbartes Symptom nicht fälschlich zur bewiesenen Ursache.
Prüfpunkt 6: Warum TCP Interleaved oft funktioniert
Schließen Sie „Warum TCP Interleaved oft funktioniert“ erst, wenn gespeichertes, exportiertes oder erneut geöffnetes Ergebnis weiterhin dem beobachteten Zustand entspricht. Vorübergehendes UI-Feedback hilft, dauerhafte Evidenz ist aber stärker. Dokumentieren Sie verbleibende Grenzen für die nächste Person.
Prüfpunkt 7: RTCP kann helfen, den Weg zu beweisen
Trennen Sie bei „RTCP kann helfen, den Weg zu beweisen“ eine Produktentscheidung von Grenzen des Betriebssystems, der Hardware, Quelldatei, Berechtigung oder Arbeitsweise. Bestätigen Sie zuerst, welche Schicht die Evidenz geliefert hat. So wird ein benachbartes Symptom nicht fälschlich zur bewiesenen Ursache.
Prüfpunkt 8: Debug-Checkliste
Schließen Sie „Debug-Checkliste“ erst, wenn gespeichertes, exportiertes oder erneut geöffnetes Ergebnis weiterhin dem beobachteten Zustand entspricht. Vorübergehendes UI-Feedback hilft, dauerhafte Evidenz ist aber stärker. Dokumentieren Sie verbleibende Grenzen für die nächste Person.
Prüfpunkt 9: Endgültige Diagnose
Trennen Sie bei „Endgültige Diagnose“ eine Produktentscheidung von Grenzen des Betriebssystems, der Hardware, Quelldatei, Berechtigung oder Arbeitsweise. Bestätigen Sie zuerst, welche Schicht die Evidenz geliefert hat. So wird ein benachbartes Symptom nicht fälschlich zur bewiesenen Ursache.
Prüfpunkt 10: Reproduzierbarer Nachweis für „RTSP vs. UDP: Warum RTSP eine Verbindung herstellt, aber da
Schließen Sie „Reproduzierbarer Nachweis für „RTSP vs. UDP: Warum RTSP eine Verbindung herstellt, aber das Video schwarz ist – RTP wird durch Firewall, NAT und VPN b“ erst, wenn gespeichertes, exportiertes oder erneut geöffnetes Ergebnis weiterhin dem beobachteten Zustand entspricht. Vorübergehendes UI-Feedback hilft, dauerhafte Evidenz ist aber stärker. Dokumentieren Sie verbleibende Grenzen für die nächste Person.
Abnahmematrix
| Prüfpunkt | Aufzubewahrender Nachweis | Passkriterium |
|---|---|---|
| RTSP vs. UDP: Warum RTSP eine Verbindung herstellt, aber das Video schwarz ist – RTP wird durch Firewall, NAT und VPN bl | Ausgangszustand, eine Aktion und Ergebniszustand | Eine zweite Person kann das Ergebnis reproduzieren |
| Behebung, dass RTSP kein Video anzeigt, wenn die Steuerung eine Verbindung herstellt, UDP-RTP jedoch blockiert ist. Deck | Ausgangszustand, eine Aktion und Ergebniszustand | Eine zweite Person kann das Ergebnis reproduzieren |
| Kontrollarbeiten bedeuten nicht, dass Medien funktionieren | Ausgangszustand, eine Aktion und Ergebniszustand | Eine zweite Person kann das Ergebnis reproduzieren |
| Der Transport-Header zeigt den Hafenplan | Ausgangszustand, eine Aktion und Ergebniszustand | Eine zweite Person kann das Ergebnis reproduzieren |
| Häufige Firewall- und NAT-Fehler | Ausgangszustand, eine Aktion und Ergebniszustand | Eine zweite Person kann das Ergebnis reproduzieren |
| Warum TCP Interleaved oft funktioniert | Ausgangszustand, eine Aktion und Ergebniszustand | Eine zweite Person kann das Ergebnis reproduzieren |
Fehlerisolierung, Recovery und Übergabe
Stoppen Sie beim ersten fehlerhaften Übergang. Bewahren Sie Quelle, Projekt, Session oder Capture und erstellen Sie vor destruktiven Änderungen eine Kopie. Ändern Sie pro Experiment nur eine Variable. Ein kompletter erneuter Lauf nach mehreren Änderungen kann anders enden, ohne die Ursache zu erklären.
Unterscheiden Sie fehlende Evidenz von Evidenz für ein Fehlen. Eine leere Ansicht kann auf falsche Eingabe, Scope, Filter, Berechtigung, Gerät, Zeitbereich oder Projektzustand hinweisen. Beweisen Sie Aufnahme oder Import, bevor Sie Decoder, Editor, Bericht oder Export interpretieren.
Öffnen Sie vor der Übergabe das dauerhafte Artefakt erneut und prüfen Sie Anfang, Entscheidungsstelle und Ende. Dokumentieren Sie Version, Plattform, Konfiguration, Erwartung, Beobachtung und kleinste Reproduktion. Entfernen oder schwärzen Sie sensible Daten und prüfen Sie die Berechtigung des Empfängers.
Fragen und Antworten
Wie beginnt man am schnellsten zuverlässig?
Verwenden Sie den kleinsten repräsentativen Fall, notieren Sie das erwartete Ergebnis und ändern Sie nur eine Variable. Beweisen Sie den Grundpfad, bevor Filter, Effekte, Bearbeitungen, Automatisierung oder größere Quellen hinzukommen.
Welche Evidenz sollte gespeichert werden?
Bewahren Sie Eingabeidentität, Version, Plattform, Einstellungen, exakte Aktion, ersten unerwarteten Übergang und Endausgabe. Projekt, Session, Bericht oder Export müssen geschlossen und erneut geöffnet werden.
Wann sollte das Verfahren wiederholt werden?
Wiederholen Sie es nach relevanten Änderungen an Anwendung, Betriebssystem, Treiber, Firmware, Modell, Quelle oder Workflow. Behalten Sie den früher akzeptierten Fall als unveränderte Vergleichsbasis.
Wann ist die Aufgabe übergabefähig?
Wenn eine autorisierte zweite Person Eingabe und Aktion erkennt, dasselbe Ergebnis reproduziert, verbleibende Grenzen versteht und das gespeicherte Artefakt ohne undokumentierten lokalen Zustand öffnen kann.
Verwandte Anleitungen
Diese gleichsprachigen Seiten decken angrenzende Schritte ab, ohne den kanonischen Eigentümer dieses Themas zu verändern:
<!-- multilingual-blog-closeout:end -->