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);