
Gostaria de transportar o fluxo ts (arquivos .ts) por UDP.
Eu usei o pipeline abaixo,
gst-launch-1.0 filesrc =location=a.ts ! tsparse ! rtpmp2tpay ! udpsink host="IP" port="port"
Mas estou chegando ao fim do fluxo em uma fração de segundos.
No final do receptor, estou recebendo apenas alguns dados.
Um aviso surge quando eu defino 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
O arquivo TS é criado pela decodificação e mpegtsmux de um arquivo yuv.
Esse arquivo TS está funcionando corretamente quando eu o desmuxo e decodifico diretamente.
Mas quando eu transmito esse arquivo ts através do UDP, surge esse problema.
Como posso transportar fluxo ts por UDP?
Responder1
MPEG2-TS carrega carimbos de data e hora, para decodificação e apresentação DTS/PTS. Obviamente, você precisa inserir o novo carimbo de data e hora em seu pipeline.
Quando você o decodifica, seu decodificador local pode usar apenas as informações de tempo relativas de seus carimbos de data/hora ou descartá-los completamente e recalcular o tempo a partir da taxa de bits, o que funciona bem na maioria, quase todos os fluxos (o VLC não obedeceu aos carimbos de data/hora por anos, e só aprendi em versões recentes).
talvez alguém possa editar esta resposta e fornecer a palavra-chave correta para inserir no pipeline.