DeepStream 4.0 overly complicated

NVIDIA couldn’t have made this any more complicated if you spent another two years in development.

What happened to the simple API of adding a worker(IDeviceWorker), a decoder(cudah264) and a module(BGR/RGB/Tensor/whatever)?

GStreamer has a steep learning curve and hides the API. Looking at the SDK documentation in the NVIDIA website the entire thing looks like rat’s nest. There is no flow to it. One can’t tell the order of execution and how all these things relate. How about a wrapper to simplify all the silliness with gstreamer I can care less about?

You’ve killed DeepStream in my opinion.

// Create a device worker bitstream
IDeviceWorker* pDW = createDeviceWorker(1,0);

// Add a decode task, specifying the CODEC type
pDW->addDecodeTask(cudaVideoCodec_H264);

// Add a module for color conversion.
// Color conversion module outputs:
// 0: BGR_PLANAR
// 1: NV12 (YCbCr)
IModule* pCC = pDW->addColorSpaceConvertorTask(BGR_PLANAR);

Hi
It’s gstreamer mechanism, as you said GStreamer has a steep learning curve and hides the API, and deepstream is based on gstreamer framework, if you care more about low level design, you can see NVIDIA VIDEO CODEC SDK


for x86 platform, or Multimedia LL API for Jetson, if you want to use Deepstream, to be familar with gstreamer framework would be a good start.