When to use tsparse?

classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

When to use tsparse?

Sid Sethupathi
Hello, 

I am working on a pipeline on 1.16.1 that consumes a RTP MPEG-2 transport stream and writes it to an HLS feed without transcoding the video. The pipeline looks roughly like this:

gst-launch-1.0 -v rtpbin name=rtpbin buffer-mode=0 udpsrc address=xxx.xxx.xxx.xxx port=1234 ! rtpbin.recv_rtp_sink_0 rtpbin. ! rtpmp2tdepay ! tsdemux ! h264parse ! hlssink2

This usually works fine, but occasionally in the middle of running the pipeline with INFO level logging, we'll see corrupted segments get written with unrealistically small file sizes while the following logs are repeatedly generated at a very rapid rate:

5:37:20.238213074     7 0x55c2d0d75a80 INFO        mpegtspacketizer mpegtspacketizer.c:772:mpegts_try_discover_packet_size: have packetsize detected: 188 bytes
5:37:20.239808445     7 0x55c2d0d75a80 INFO              mpegtsbase mpegtsbase.c:956:mpegts_base_apply_pat:<hls_ts_demux> PAT

Can someone help me understand what these logs mean? After reading into the code more, I think we should see the PAT log when we receive a PSI message with PAT info, but I'm still not grasping what those are and how it could affect the bad output we are seeing. 

Also, is it better practice to put a tsparse in between rtpmp2tdepay and tsdemux? I didn't understand what the use case of tsparse was when reading the gstreamer docs.

Thanks,
Sid


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: When to use tsparse?

William
I'm going to take a stab at answering your question. I'm a complete novice so
I may be completely wrong, but since no one else has answered you I'll give
it a try. I think MPEG2-TS can contain multiple program streams (think "Game
of Thrones" and "Hogan's Heroes"). I think what tsparse does is to split up
the separate programs into separate MPEG2-TS streams on to different source
pads. I think if you know you only have one program then you don't need it.


Sid Sethupathi wrote
> Also, is it better practice to put a tsparse in between rtpmp2tdepay and
> tsdemux? I didn't understand what the use case of tsparse was when reading
> the gstreamer docs.





--
Sent from: http://gstreamer-devel.966125.n4.nabble.com/
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel