H.264 FU-A RTP Fragmentation Fix: Warum Ihr RTSP-Video kaputt ist (Paketverlust, NAL-Zusammenbau)
Repariert defektes RTSP-Video aufgrund von H.264 FU-A RTP-Fragmentierung. Deckt fehlende Fragmente, Start-/Endbitfehler, NAL-Reassemblierungsfehler, Paketverlust, MTU und Decoderfehler mit echten Diagnosebefehlen ab.
H.264 über RTP bricht auf eine Art und Weise zusammen, die wie Decoderfehler aussieht, in Wirklichkeit aber Paketierungsprobleme darstellt. Die RTSP-Sitzung funktioniert. DESCRIBE gibt gültiges SDP zurück. SETUP ist erfolgreich. PLAY gibt 200 OK zurück. RTP-Pakete kommen mit dem richtigen Nutzlasttyp an, der H.264 zugeordnet ist. Dennoch zeigt das Video Blockbeschädigungen, Einfrierungen, schwarze Frames oder Decoderfehler.
Die Fehler sehen in Ihren Protokollen so aus:
[h264 @ 0x...] invalid NAL unit size
[h264 @ 0x...] missing picture in access unit
[h264 @ 0x...] non-existing PPS 0 referenced
[h264 @ 0x...] decode_slice_header error
[h264 @ 0x...] no frame!
The fast answer
Why fragmentation exists
The structure of an FU-A packet
Each FU-A RTP packet contains:
Byte 0: FU indicator
bit 7: F (forbidden_zero_bit) — normally 0
bits 6-5: NRI (nal_ref_idc) — priority
bits 4-0: Type = 28 (FU-A)
Byte 1: FU header
bit 7: S (Start) — 1 for first fragment
bit 6: E (End) — 1 for last fragment
bit 5: R (Reserved) — always 0
bits 4-0: Type — original NAL unit type (1=non-IDR, 5=IDR, 7=SPS, 8=PPS)
Byte 2+: Fragment payload — the actual NAL unit data
Eine vollständige FU-A-Sequenz für eine NAL-Einheit:
Packet 1: FU indicator (type=28) | FU header (S=1, E=0, type=5) | payload[0..N]
Packet 2: FU indicator (type=28) | FU header (S=0, E=0, type=5) | payload[N+1..M]
Packet 3: FU indicator (type=28) | FU header (S=0, E=0, type=5) | payload[M+1..P]
Packet 4: FU indicator (type=28) | FU header (S=0, E=1, type=5) | payload[P+1..END]
The RTP marker bit
Failure modes: what breaks and why
Failure 1: Missing middle fragment
Expected: 1000(S) 1001(M) 1002(M) 1003(E|marker)
Received: 1000(S) 1001(M) [LOST] 1003(E|marker)
Der Reassembler sieht ein Startfragment, ein mittleres Fragment und dann ein Endfragment – aber die Nutzlastbytes verbinden sich nicht. Die wieder zusammengebaute NAL-Einheit weist eine Lücke auf.
Symptome:
- Blockieren Sie Beschädigungen in einem horizontalen Streifen des Rahmens
- Decoder meldet „ungültige NAL-Einheitsgröße“
- Die Korruption ist auf eine Zugriffseinheit beschränkt (wird beim nächsten IDR gelöscht)
Fehler 2: Fehlendes Startfragment
Expected: 1000(S) 1001(M) 1002(E)
Received: [LOST] 1001(M) 1002(E)
Failure 3: Missing end fragment
Expected: 1000(S) 1001(M) 1002(E|marker)
Received: 1000(S) 1001(M) [LOST]
Der Reassembler sieht das Endfragment nie. Die NAL-Einheitsgrenze wird nie bestätigt. Der Decoder wartet auf weitere Daten, die nie eintreffen.
Symptome:
- Video friert ein
- Decoder meldet „fehlendes Bild in der Zugangseinheit“
- Die Wiedergabe bleibt stehen, bis die nächste vollständige Zugriffseinheit eintrifft
Fehler 4: Fragmente außerhalb der Reihenfolge
Expected: 1000(S) 1001(M) 1002(E)
Received: 1000(S) 1002(E) 1001(M)
Diagnostic workflow
Step 1: Confirm H.264 payload mapping
m=video 0 RTP/AVP 96
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1;profile-level-id=4D0029;sprop-parameter-sets=...
- „packetization-mode=1“ bedeutet nicht-interleaved Modus (FU-A wird unterstützt)
- „packetization-mode=0“ bedeutet Einzel-NAL-Einheitsmodus (keine Fragmentierung – sehr begrenzt)
Schritt 2: Verfolgen Sie RTP-Sequenznummern
Achten Sie in Ihrer Aufnahme auf die RTP-Sequenznummern für die Videospur. Lücken weisen auf einen Paketverlust hin:
Seq 1000: FU-A Start, NAL type 5 (IDR)
Seq 1001: FU-A middle
Seq 1003: FU-A End, marker=1 ← gap at 1002
Step 3: Inspect FU-A headers
Byte 0 (FU indicator):
0x7C = NRI=3, Type=28 (FU-A)
Byte 1 (FU-Header):
0x85 = S=1, E=0, R=0, Typ=5 (IDR-Slice) ← Startfragment von IDR
0x45 = S=0, E=0, R=0, Typ=5 ← mittleres Fragment
0x65 = S=0, E=1, R=0, Typ=5 ← Endfragment; Marker nur, wenn diese NAL-Einheit die Access Unit beendet
Zu suchende falsche Werte:
- S=1 bei einem Nicht-Startpaket → Verwirrung beim Reassembler
- Marker vor E=1 gesetzt → falsche Access-Unit-Grenze
- E=1 ohne Marker kann gültig sein, wenn danach eine weitere NAL-Einheit folgt
- Typänderungen mitten in der Sequenz → Encoder-Fehler oder Stream-Beschädigung
Schritt 4: Überprüfen Sie den vollständigen Zusammenbau
Für jede NAL-Einheit:
- Finden Sie das Startfragment (S=1)
- Folgen Sie aufeinanderfolgenden Sequenznummern bis zum Endfragment (E=1).
- Fragmente zählen; Stellen Sie sicher, dass keine Sequenzlücken vorhanden sind
- Vergleichen Sie den Marker mit der Access-Unit-Grenze; er ist nicht bei jedem FU-A-Endfragment erforderlich
- Stellen Sie sicher, dass alle Fragmente denselben Zeitstempel und NAL-Typ haben
Schritt 5: Transportarten vergleichen
Führen Sie denselben Stream über UDP und TCP interleaved aus. Wenn das Video über TCP sauber, über UDP jedoch beschädigt ist, liegt das Problem am Netzwerkpaketverlust und nicht an Encoder- oder Decoderproblemen.
Schritt 6: IDR- und Nicht-IDR-Analyse
IDR-Frames sind größer und erfordern mehr FU-A-Fragmente pro NAL-Einheit. Mehr Fragmente = höheres Risiko für Paketverluste. Wenn die Beschädigung hauptsächlich bei Szenenwechseln oder alle paar Sekunden (im IDR-Intervall) auftritt, sind die IDR-Frames das Opfer.
Optionen beheben:
- Verringern Sie die IDR-Framegröße (reduzieren Sie die Auflösung oder Bitrate für Keyframes).
- Erhöhen Sie das IDR-Intervall (weniger große Frames, aber langsamere Wiederherstellung nach Verlust)
- Reduzieren Sie die MTU für FU-A am Encoder (mehr Fragmente, aber jedes ist kleiner und löst mit geringerer Wahrscheinlichkeit eine IP-Fragmentierung aus)
Wiederherstellungsstrategien
Beim Reassembler
- Lassen Sie beschädigte Zugriffseinheiten vollständig fallen, anstatt Teildaten an den Decoder weiterzuleiten
- Fordern Sie einen neuen IDR-Frame über RTCP an (sofern von der Kamera unterstützt)
- Warten Sie auf den nächsten IDR-Frame (Decoder wird automatisch wiederhergestellt)
Am Encoder
- Senken Sie die Größenbeschränkung für NAL-Einheiten, um Fragmente pro Zugriffseinheit zu reduzieren
- Verwenden Sie regelmäßige Intra-Refresh-Frames anstelle vollständiger IDR-Frames (kleinere Keyframes).
- Aktivieren Sie FEC (Forward Error Correction), wenn der RTP-Stack dies unterstützt
Im Netzwerk
- Wechseln Sie von UDP zu TCP interleaved, wenn ein Paketverlust unvermeidbar ist
- Stellen Sie sicher, dass die Pfad-MTU-Erkennung funktioniert (IP-Fragmentierung vermeiden)
- Priorisieren Sie den RTP-Verkehr auf überlasteten Verbindungen
Wenn es nicht FU-A ist
Nicht jede H.264-Korruption ist eine FU-A-Fragmentierung. Überprüfen:
- SPS/PPS fehlt: Decoderfehler wie „nicht vorhandener PPS“ – überprüfen Sie die SDP-Sprop-Parametersätze
- Falsches Profil/Level: Decoder kann die Stream-Komplexität nicht bewältigen
- Encoder-Fehler: Der Encoder erzeugt eine ungültige NAL-Einheitssyntax
- Bitstream-Beschädigung an der Quelle: Der Encoder der Kamera ist defekt, nicht das Netzwerk
Wenn die RTP-Pakete mit perfekten Sequenznummern und korrekten FU-A-Headern ankommen, der Decoder aber trotzdem ausfällt, liegt das Problem im H.264-Bitstrom selbst und nicht im Transport.
<!-- rtsp-localized-evidence-foundation-v1:start -->Reproduzierbarer Nachweis für „H.264 FU-A RTP Fragmentation Fix: Warum Ihr RTSP-Video kaputt ist (Paketverlust, NAL-Zusammenbau)“
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 „H.264 FU-A RTP Fragmentation Fix: Warum Ihr RTSP-Video kaputt ist (Paketverlust, NAL-Zusammenbau)“ 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 „H.264 FU-A RTP Fragmentation Fix: Warum Ihr RTSP-Video kaputt ist (Paketverlust, NAL-Zusammenbau)“ lautet: Repariert defektes RTSP-Video aufgrund von H.264 FU-A RTP-Fragmentierung. Deckt fehlende Fragmente, Start-/Endbitfehler, NAL-Reassemblierungsfehler, Paketverlust, MTU und Decoderfehler mit echten Diagnosebefehlen 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: H.264 FU-A RTP Fragmentation Fix: Warum Ihr RTSP-Video kaputt ist (Paketverlust, NAL-Zusam
Prüfen Sie „H.264 FU-A RTP Fragmentation Fix: Warum Ihr RTSP-Video kaputt ist (Paketverlust, NAL-Zusammenbau)“ mit der kleinsten repräsentativen Eingabe. Lassen Sie unabhängige Einstellungen unverändert, wiederholen Sie dieselbe Aktion und kontrollieren Sie das Ergebnis nach erneutem Öffnen oder Verbinden. Ein Bild ist schwächer als ein Nachweis mit Eingabe, Einstellung, Aktion, Ausgabe und Zeitpunkt.
Prüfpunkt 2: Repariert defektes RTSP-Video aufgrund von H.264 FU-A RTP-Fragmentierung. Deckt fehlende F
Ist „Repariert defektes RTSP-Video aufgrund von H.264 FU-A RTP-Fragmentierung. Deckt fehlende Fragmente, Start-/Endbitfehler, NAL-Reassemblierungsfehler, P“ mehrdeutig, vergleichen Sie einen bekannten guten und einen fehlerhaften Fall unter gleichen Bedingungen. Markieren Sie die erste relevante Abweichung statt aller späteren Symptome. Diese Grenze führt meist zu einer klareren Supportanfrage und einem sichereren Experiment.
Prüfpunkt 3: The fast answer
Prüfen Sie „The fast answer“ mit der kleinsten repräsentativen Eingabe. Lassen Sie unabhängige Einstellungen unverändert, wiederholen Sie dieselbe Aktion und kontrollieren Sie das Ergebnis nach erneutem Öffnen oder Verbinden. Ein Bild ist schwächer als ein Nachweis mit Eingabe, Einstellung, Aktion, Ausgabe und Zeitpunkt.
Prüfpunkt 4: Why fragmentation exists
Ist „Why fragmentation exists“ mehrdeutig, vergleichen Sie einen bekannten guten und einen fehlerhaften Fall unter gleichen Bedingungen. Markieren Sie die erste relevante Abweichung statt aller späteren Symptome. Diese Grenze führt meist zu einer klareren Supportanfrage und einem sichereren Experiment.
Prüfpunkt 5: The structure of an FU-A packet
Prüfen Sie „The structure of an FU-A packet“ mit der kleinsten repräsentativen Eingabe. Lassen Sie unabhängige Einstellungen unverändert, wiederholen Sie dieselbe Aktion und kontrollieren Sie das Ergebnis nach erneutem Öffnen oder Verbinden. Ein Bild ist schwächer als ein Nachweis mit Eingabe, Einstellung, Aktion, Ausgabe und Zeitpunkt.
Prüfpunkt 6: The RTP marker bit
Ist „The RTP marker bit“ mehrdeutig, vergleichen Sie einen bekannten guten und einen fehlerhaften Fall unter gleichen Bedingungen. Markieren Sie die erste relevante Abweichung statt aller späteren Symptome. Diese Grenze führt meist zu einer klareren Supportanfrage und einem sichereren Experiment.
Prüfpunkt 7: Failure modes: what breaks and why
Prüfen Sie „Failure modes: what breaks and why“ mit der kleinsten repräsentativen Eingabe. Lassen Sie unabhängige Einstellungen unverändert, wiederholen Sie dieselbe Aktion und kontrollieren Sie das Ergebnis nach erneutem Öffnen oder Verbinden. Ein Bild ist schwächer als ein Nachweis mit Eingabe, Einstellung, Aktion, Ausgabe und Zeitpunkt.
Prüfpunkt 8: Failure 1: Missing middle fragment
Ist „Failure 1: Missing middle fragment“ mehrdeutig, vergleichen Sie einen bekannten guten und einen fehlerhaften Fall unter gleichen Bedingungen. Markieren Sie die erste relevante Abweichung statt aller späteren Symptome. Diese Grenze führt meist zu einer klareren Supportanfrage und einem sichereren Experiment.
Prüfpunkt 9: Fehler 2: Fehlendes Startfragment
Prüfen Sie „Fehler 2: Fehlendes Startfragment“ mit der kleinsten repräsentativen Eingabe. Lassen Sie unabhängige Einstellungen unverändert, wiederholen Sie dieselbe Aktion und kontrollieren Sie das Ergebnis nach erneutem Öffnen oder Verbinden. Ein Bild ist schwächer als ein Nachweis mit Eingabe, Einstellung, Aktion, Ausgabe und Zeitpunkt.
Prüfpunkt 10: Failure 3: Missing end fragment
Ist „Failure 3: Missing end fragment“ mehrdeutig, vergleichen Sie einen bekannten guten und einen fehlerhaften Fall unter gleichen Bedingungen. Markieren Sie die erste relevante Abweichung statt aller späteren Symptome. Diese Grenze führt meist zu einer klareren Supportanfrage und einem sichereren Experiment.
Abnahmematrix
| Prüfpunkt | Aufzubewahrender Nachweis | Passkriterium |
|---|---|---|
| H.264 FU-A RTP Fragmentation Fix: Warum Ihr RTSP-Video kaputt ist (Paketverlust, NAL-Zusammenbau) | Ausgangszustand, eine Aktion und Ergebniszustand | Eine zweite Person kann das Ergebnis reproduzieren |
| Repariert defektes RTSP-Video aufgrund von H.264 FU-A RTP-Fragmentierung. Deckt fehlende Fragmente, Start-/Endbitfehler, | Ausgangszustand, eine Aktion und Ergebniszustand | Eine zweite Person kann das Ergebnis reproduzieren |
| The fast answer | Ausgangszustand, eine Aktion und Ergebniszustand | Eine zweite Person kann das Ergebnis reproduzieren |
| Why fragmentation exists | Ausgangszustand, eine Aktion und Ergebniszustand | Eine zweite Person kann das Ergebnis reproduzieren |
| The structure of an FU-A packet | Ausgangszustand, eine Aktion und Ergebniszustand | Eine zweite Person kann das Ergebnis reproduzieren |
| The RTP marker bit | 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:
- RTP-Markerbit und H.264-Frame-Grenzen: Debuggen von RTSP-Rucklern, fehlenden Keyframes und Neuzusammenstellung
- H.264 RTP-Paketierungsmodus 0 vs. 1 in RTSP SDP: Single NAL, FU-A, STAP-A und Kamerakompatibilität
- RTP-Fehler im primären Stream beheben: Paketverlust, Kamera friert ein und Makroblöcke in RTSP diagnostizieren