Fundamental Question about gstreamer(deepstream)

Hello,

I’d like to make sure some personally uncertain technical understandings about the secret of gstreamer’s high throughput.

Please tell me I am wrong if my understandings below is really wrong.

  • gstreamer provides high throughput because it can construct and use pipelines of mass data stream as effective as possible.
  • The pipeline is placed in kernel space mostly. So the mass data flows only in kernel.
  • The mass stream data can be consumed in user space like in the appsink. Other than these special pipeline element mostly the data is handled in kernel space.
  • In this way gstreamer is able to eliminate inefective data copy between user space and kernel space.

nvv4l2camerasrc device=/dev/video0 !
video/x-raw(memory:NVMM),format=UYVY,width=1920,height=1080,framerate=30/1 !
nvvidconv !
video/x-raw,format=BGRx !
videoconvert !
video/x-raw, format=BGR !
appsink drop=1

  • In the pipeline above, the mass data only be outputed to the userspace firstly at the end of the pipeline - in the appsink.
  • Other than the appsink the video data only flows in the kernel space in the pipeline above.

Is there any misunderstandings above?
I’d like to be sure about my understading.
Thank you very much!

Hi,
In DeepStream SDK, the frame data is captured into hardware DMA buffer and processed/accessed through hardware engines such as hardware converter, GPU, hardware encoder. There is no additional memory copy in the pipeline so performance throughput is optimal. In the pipeline:

nvv4l2camerasrc device=/dev/video0 !
video/x-raw(memory:NVMM),format=UYVY,width=1920,height=1080,framerate=30/1 !
nvvidconv !
video/x-raw,format=BGRx !
videoconvert !
video/x-raw, format=BGR !
appsink drop=1

The frame data(in UYVY) is captured into DAM buffer, convert to BGRx in DMA buffer, copied to CPU buffer, and then convert to BGR in CPU buffer. When comparing to DeepStrea, there is additional buffer copy so it may not achieve same performance as DeepStream SDK.

1 Like

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