
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.