My task is to create HLS live stream from jpeg frames using simple pipeline with
filesink plugin. Because of application architecture used I can’t implement pipeline with
hlssink. So the solution was to create following pipeline and start it every couple of seconds:
gst-launch-1.0 multifilesrc location=/tmp/frames/frame%d.jpeg start-index=0 caps="image/jpeg,framerate=25/1" ! jpegdec ! videoconvert ! videorate ! omxh264enc profile="high" ! h264parse ! mpegtsmux ! filesink location=/tmp/hls/video/file1.mp4
I used python script to automate changing of that pipeline, so it behavior is like it would be with
hlssink plugin. My problem is that none of the HLS players I used (VLC, MPV, HLS.js) won’t start live stream correctly. Playlist file that I also generate in python has no difference with one generated with
hlssink, so I think that problem may be in resulting videofile encoding or something connected with it.
You can check more details at my stackoverflow question here