HLS framerate changed after nvstreammux

Please provide complete information as applicable to your setup.

• Hardware Platform (Jetson / GPU)
RTX 3090
• DeepStream Version
nvcr.io/nvidia/deepstream:6.1.1-triton
• JetPack Version (valid for Jetson only)
N/A
• TensorRT Version
nvcr.io/nvidia/deepstream:6.1.1-triton
• NVIDIA GPU Driver Version (valid for GPU only)
515.86.01
• Issue Type( questions, new requirements, bugs)
bugs
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
see details
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
see details

Hi All,

I am trying to use uridecodebin to accept multiple types of sources (i.e. rtsp, file, rtmp, hls …) for deepstream application. Everything run fine with rtsp, file and rtmp source. But when I use hls, the framerate differs from the source and increases. I had created serval gst-launch string to test the behaviour

gst-launch-1.0 uridecodebin uri=test.m3u8 ! nvvideoconvert ! nveglglessink

this work just fine with normal behaviour

gst-launch-1.0 uridecodebin uri=test.m3u8 ! m.sink_0 nvstreammux name=m batch-size=1 width=1280 height=720  ! nvvideoconvert ! nveglglessink

After I add the nvstreammux, the framerate boosts up and differ from the original source.
I had also tried adding caps but it has no effect.

gst-launch-1.0 uridecodebin uri=test.m3u8 ! m.sink_0 nvstreammux name=m batch-size=1 width=1280 height=720 ! nvvideoconvert ! video/x-raw,framerate=25/1  ! nvvideoconvert ! nveglglessink

Please kindly adivce. Many Thanks!

How do you compare the framerate with or without the nvstreammux? What are the specific values with or withour the nvstreammux?

There’s a timer inside the real-time stream. It is pretty obvious since it does not tick with 1 second. You can observer that the one with streammux quickly consumes the buffer, stop, and wait for the next buffer in the following gif.

gst-launch-1.0 uridecodebin uri=test.m3u8 ! m.sink_0 nvstreammux name=m batch-size=1 width=1280 height=720  ! nvvideoconvert ! nveglglessink

With Streammux
streammux

gst-launch-1.0 uridecodebin uri=test.m3u8 ! nvvideoconvert ! nveglglessink

wihtout streammux
nostreammux

You can try to set the live-source parameter to nvstreammux. You can refer to the link below to learn how set pts in nvstreammux.
https://docs.nvidia.com/metropolis/deepstream/dev-guide/text/DS_plugin_gst-nvstreammux.html

Thanks for the reply. Yes, I tried that before. Setting live-source=1 only makes it worst and the speed increase.

OK. Could you attach your video to us?

Sorry that I cannot share the video because of privacy. I tried to reproduce the result by generating a test video source by ffmpeg and output as HLS format. It is working just fine with streammux. I will continue looking into the issues.

There is no update from you for a period, assuming this is not an issue anymore. Hence we are closing this topic. If need further support, please update this topic or open a new one. Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.