RTSP-Audiospur, AAC und unbekannte SDP-Spuren: Warum ein Videostream vor der Wiedergabe fehlschlägt
So diagnostizieren Sie RTSP-Streams mit Audiospuren, AAC-Nutzlasten, unbekannten SDP-Medienabschnitten und Client-Kompatibilitätsfehlern.
Einige RTSP-Kamerastreams schlagen nicht fehl, weil das Video nicht verfügbar ist, sondern weil die Sitzung mehr enthält, als der Client erwartet. Eine Kamera kann Video-, Audio-, Metadaten-, private Tracks-, Backchannel-Audio- oder herstellerspezifische Medienabschnitte in SDP ankündigen. Ein strenger Verbraucher kann die gesamte Sitzung ablehnen, wenn er auf einen nicht unterstützten Titel stößt.
Suchanfragen wie „RTSP AAC-Audio funktioniert nicht“, „unbekannter Titel in SDP“, „RTSP-Stream schlägt bei aktiviertem Audio fehl“ oder „Kamera funktioniert nach Deaktivierung von Audio“ weisen auf dieselbe Diagnosegrenze hin: SDP beschreibt die Sitzung und jeder angekündigte Titel kann die Kompatibilität beeinträchtigen.
SDP kann mehr als nur Videos bewerben
Eine RTSP-Antwort „DESCRIBE“ kann mehrere Medienabschnitte enthalten:
- „m=video“.
- „m=audio“.
- Metadatenspuren
- Bewerbungsspuren
- Anbieterprivate Nutzlasten
- Kontroll-URLs pro Titel
Für jeden Track muss der Client entscheiden, ob er ihn einrichten, ignorieren oder fehlschlagen kann. Manche Kunden sind tolerant. Andere sind streng. Wenn eine Restreaming-Engine oder ein Analyseprodukt nur einen unterstützten Videotrack erwartet, können unbekannte SDP-Abschnitte zu überraschenden Fehlern führen.
AAC Audio hat seine eigene Kompatibilitätsgrenze
AAC über RTP ist weit verbreitet, aber nicht jeder RTSP-Verbraucher verarbeitet jede Audio-Nutzlast sauber. SDP muss möglicherweise Modus, Konfiguration, Taktrate, Kanäle und Nutzlasttyp beschreiben. Wenn diese Felder fehlen oder ungewöhnlich sind, schlägt ein Client möglicherweise während der Einrichtung oder später beim Depaketieren fehl.
Audioprobleme können wie folgt auftreten:
- Der Stream wird nur geöffnet, wenn Audio deaktiviert ist
- SDP-Analysefehler
- nicht unterstützter Nutzlasttyp
- „SETUP“ schlägt auf der Audiospur fehl
- Video funktioniert in VLC, schlägt jedoch bei einem strengeren Aufnahmepfad fehl
- Der Rekorder lehnt die Sitzung ab, obwohl die Videospur gültig ist
Der letzte Fall ist wichtig: Eine nicht unterstützte Audiospur kann je nach Client-Verhalten den Zugriff auf eine verwendbare Videospur blockieren.
Unbekannte Spuren sollten gemeldet und nicht versteckt werden
Wenn SDP einen unbekannten Medienabschnitt enthält, sollte ein Diagnosetool ihn beibehalten. Das Ausblenden nicht unterstützter Tracks erschwert die Erklärung von Kompatibilitätsfehlern.
Zu den nützlichen Beweisen gehören:
- Vollständiger SDP-Medienbereich
- Nutzlasttyp
rtpmap-Wert- „fmtp“-Werte
- Track-Control-URL
- ob „SETUP“ versucht wurde
- ob ein Fehler auf der Video-, Audio- oder Metadatenspur aufgetreten ist
Dadurch können Ingenieure entscheiden, ob sie die Spur deaktivieren, filtern, das Kameraprofil ändern oder die Downstream-Unterstützung anpassen möchten.
Deaktivieren Sie Audio als Test, nicht als Diagnose
Das Deaktivieren von Audio ist eine häufige Problemumgehung. Dies kann insbesondere für Analyse-Workflows gültig sein, die nur Videos benötigen. Aber es sollte als Test betrachtet werden:
- Video und Audio schlagen fehl
- Nur Video ist erfolgreich
- SDP hat sich nach der Deaktivierung von Audio geändert
- Nicht unterstützte Nutzlast oder Spur ist verschwunden
- Der RTP-Videopfad blieb gleich
Dieser Vergleich beweist, dass der Fehler auf die Sitzungszusammensetzung und nicht auf die grundlegende Netzwerkerreichbarkeit zurückzuführen ist.
Wo RTSP Inspector passt
RTSP Inspector sollte die Sitzungsstruktur sichtbar halten. Seine Grenze ist nicht die Wiedergabe; Es ist eine Protokollerklärung. Bei mehrspurigen RTSP-Streams sollte die Antwort hilfreich sein:
- Wie viele Titel hat SDP beworben?
- Welche Tracks wurden unterstützt?
- Welche Spur konnte nicht eingerichtet werden?
- Ist Video-RTP angekommen?
- Haben Audio- oder Metadaten den Verbraucher blockiert?
- Sollte die nächste Aktion eine Änderung des Kameraprofils oder eine Änderung des Downstream-Parsers sein?
Wenn ein Kamerastream „nicht funktioniert“, ist die Videospur möglicherweise in Ordnung. Der nicht unterstützte Titel daneben ist möglicherweise der wahre Grund, warum die Sitzung fehlgeschlagen ist.