When to use tsparse?

Sid Sethupathi sid.sethupathi at gmail.com
Fri Oct 18 06:01:43 UTC 2019


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20191018/ee7e4a32/attachment.html>


More information about the gstreamer-devel mailing list