TS-Stream-Transport über UDP aus .TS-Dateien

1212
prasanth

Ich möchte ts stream (.ts-Dateien) über UDP transportieren.

Ich habe die folgende Pipeline benutzt,

gst-launch-1.0 filesrc =location=a.ts ! tsparse ! rtpmp2tpay ! udpsink host="IP" port="port" 

Aber ich bin innerhalb von Sekundenbruchteilen zu Ende.

Am Empfänger Ende empfange ich nur einige Daten.

Eine Warnung tritt auf, wenn ich für filesrc do-timestamp = true setze.

0:00:00.051245178 4751 0xe494a0 WARN mpegtspacketizer mpegtspacketizer.c:1388:calculate_skew: delta - skew: 5124091:34:25.044918089 too big, reset skew 

Die TS-Datei wird durch Dekodierung und mpegtsmux einer yuv-Datei erstellt.

Diese TS-Datei funktioniert einwandfrei, wenn ich sie direkt demuxe und decodiere.

Aber wenn ich diese TS-Datei über UDP streame, entsteht dieses Problem.

Wie kann ich ts stream über UDP transportieren?

1

1 Antwort auf die Frage

0
Matthias Š

MPEG2-TS tragen Zeitstempel zum Dekodieren und Darstellen von DTS / PTS. Offensichtlich müssen Sie die Zeitstempel erneut in Ihre Pipeline einfügen.

Wenn Sie es decodieren, verwendet Ihr lokaler Decoder möglicherweise nur die relativen Zeitinformationen aus Ihren Zeitstempeln oder löscht sie vollständig und berechnet das Timing aus der Bitrate neu. Dies funktioniert in den meisten fast allen Streams einwandfrei (VLC hat jahrelang keine Zeitstempel befolgt und) lernte es nur in den letzten Releases).

Vielleicht kann jemand diese Antwort bearbeiten und das richtige Schlüsselwort zum Einfügen in die Pipeline angeben.