GNOME Bugzilla – Bug 737590
udpsrc ! tsdemux ! h264parse ! hlssink - keyframes not flagged
Last modified: 2018-05-01 07:03:26 UTC
Hi, I am using gstremaer-1.4.1 version. I am experimenting with hlssink plugin. I am receiving mpegts input over udp and passing it to hlssink using below given PIPELINE1. Here h264parse plugin does not handle 'key unit event' if the incoming stream has byte-stream as the stream format. So I am not able play hls output in case of PIPELINE1. PIPELINE2 works for me because here I am forcing first h264parse to generate avc stream and feeding it back to another h264parse. PIPELINE1: gst-launch-1.0 udpsrc port=9999 ! tsdemux ! h264parse ! mpegtsmux ! hlssink location=/var/www/html/test/public/hls/hls2/segment%d.ts playlist-location=/var/www/html/test/public/hls/hls2/chunklist.m3u8 PIPELINE2: gst-launch-1.0 udpsrc port=9999 ! tsdemux ! h264parse ! video/x-h264,stream-format=avc ! h264parse ! video/x-h264,stream-foramt=byte-stream ! mpegtsmux ! hlssink location=/var/www/html/test/public/hls/hls2/segment%d.ts playlist-location=/var/www/html/test/public/hls/hls2/chunklist.m3u8 Is anybody facing the same problem.?? If there is any patch available for this please let me know. Many thanks in advance.
Does h264parse disable-passthrough=true help?
Thank you Tim. I tried with disable-passthrough property. But still I am seeing the same issue.
I suspect I might be seeing the same or a similar bug, did you ever get this to work? Output from omxh264enc doesn't include PSS/SPS for some reason, and I'm trying to work around it with h264parse. If I try PIPELINE2 above it causes hlssink to create a single transport stream without bound, instead of transport stream fragments. gst-launch-1.0 -v udpsrc port=5004 multicast-group=239.255.1.30 caps="application/x-rtp,media=(string)video,clock-rate=(int)90000" ! rtpbin ! rtpmp2tdepay ! tsdemux name=demux ! mpegvideoparse ! omxmpeg2videodec ! queue ! videoconvert ! deinterlace ! videoscale ! video/x-raw,width=960,height=540 ! omxh264enc target-bitrate=5000000 control-rate=variable inline-header=true periodicty-idr=50 interval-intraframes=50 ! queue ! h264parse config-interval=1 ! video/x-h264,stream-format=avc ! h264parse ! video/x-h264,stream-format=byte-stream ! queue ! mpegtsmux name=mux ! hlssink location=/var/www/stream/segment2%05d.ts playlist-location=/var/www/stream/output2.m3u8 playlist-root=http://192.168.225.2/stream/ target-duration=2 demux. ! mpegaudioparse ! mpg123audiodec ! audioconvert ! audioresample ! voaacenc ! queue ! mux.
hi RajuB!, this could be useful to me. can you also please provide the gst pipeline that sends out the udp messages on server side?? thanks!
No real answer in 4 years. Closing. Please re-open if you can reproduce the issue with current stable GStreamer.