Transporte de flujo TS a través de UDP desde archivos .TS

Transporte de flujo TS a través de UDP desde archivos .TS

Me gustaría transportar ts stream (archivos .ts) a través de UDP.

He utilizado la siguiente canalización,

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

Pero termino la transmisión en una fracción de segundos.

En el extremo del receptor, solo recibo algunos datos.

Surge una advertencia cuando configuro do-timestamp=true para filesrc.

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

El archivo TS se crea mediante decodificación y mpegtsmux de un archivo yuv.

Ese archivo TS funciona correctamente cuando lo desmultiplexo y decodifico directamente.

Pero cuando transmito ese archivo ts a través de UDP, surge este problema.

¿Cómo puedo transportar ts stream a través de UDP?

Respuesta1

MPEG2-TS lleva marcas de tiempo, para decodificación y presentación DTS/PTS. Obviamente, debe volver a insertar las marcas de tiempo en su canalización.

Cuando lo decodifica, es posible que su decodificador local solo use la información de tiempo relativo de sus marcas de tiempo, o las descarte por completo y recalcule el tiempo a partir de la tasa de bits, lo cual funciona bien en la mayoría, casi todas las transmisiones (VLC no obedeció las marcas de tiempo durante años, y solo lo aprendí en versiones recientes).

tal vez alguien pueda editar esta respuesta y proporcionar la palabra clave correcta para insertar en la canalización.

información relacionada