Im using gstreamer to encode jpegs list into hls stream. I want to create HLS stream on 10 frames per second, and hls target-duration of 10 sec.
Im using this gst pipe :
gst-launch-1.0 -e multifilesrc location="0_%04d.jpg" caps='image/jpeg, framerate=10/1' ! nvjpegdec ! nvvidconv ! queue ! nvv4l2h264enc iframeinterval=20 idrinterval=20 ! mpegtsmux ! hlssink max-files=0 target-duration=10 playlist-location=cam00_.m3u8 location=cam00_%02d.ts
But it generate only one ts for all frames, and the output fps is 30 instead of 10. And for that reason not all players know to play the output
Any idea ?
Could be something wrong the the nvidia plugins or the GStreamer runtime version, that is does not respect all sync point and framerate fields correctly.
I adapted the pipeline for PC:
For 1000 frames I end up with:
Which seems to result in correct 10 fps streams with 10 seconds.
Run with GStreamer 1.22.7