Skip to main content

NVIDIA DeepStream

Some of the provided texts come from the official website.

NVIDIA’s DeepStream is a complete streaming analytics toolkit based on GStreamer for AI-based multi-sensor processing, video, audio, and image understanding.

You can now create stream-processing pipelines that incorporate neural networks and other complex processing tasks like tracking, video encoding/decoding, and video rendering. These pipelines enable real-time analytics on video, image, and sensor data.

Create DeepStream app on CGC SDK​

First of all, create DeepStream app in CGC SDK using the command below:

cgc compute create -n <name> -c <cpu_cores> -m <RAM GiB> -g <gpu_count> -gt <gpu_type> deepstream --repository-secret <secret_name>
  • -n, --name - name of the compute resource
  • -g, --gpu - quantity of attached GPUs, max 8 per notebook
  • -gt, --gpu-type - type of attached GPU (A100 | V100 | A5000) default = A5000
  • -c, --cpu - cpu core count
  • -m, --memory - amount of attached RAM in GiB
Warning

DeepStream app is running as a container and do not package libraries necessary for certain multimedia operations like audio data parsing, CPU decode, and CPU encode. This change could affect processing certain video streams/files like mp4 that include audio track. Run the below script inside the created app to install additional packages (e.g. gstreamer1.0-libav, gstreamer1.0-plugins-good, gstreamer1.0-plugins-bad, gstreamer1.0-plugins-ugly as required) that might be necessary to use all the DeepStreamSDK features: /opt/nvidia/deepstream/deepstream-6.4/user_additional_install.sh

cd /opt/nvidia/deepstream/deepstream-6.4
./user_additional_install.sh

Sometimes with RTSP streams the application gets stuck on reaching EOS. This is because of an issue in rtpjitterbuffer component. To fix this issue, a script update_rtpmanager.sh at /opt/nvidia/deepstream/deepstream-6.4 has been provided with required details to update gstrtpmanager library.

cd /opt/nvidia/deepstream/deepstream-6.4
./update_rtpmanager.sh

Develop your own app with DeepStream and CGC SDK​

To start the development of your first app with DeepStream and CGC you need to create a volume mounted to already created compute resource (deepstream app) and a filebrowser in order to save your progress no matter the circumstances.

Warning

The volume will be created at /workspace path. To be able to run your code inside deepstream container you will need to create a symbolic link to your volume, so it would be accessible from /opt/nvidia/deepstream/deepstream-6.4

ln -s /workspace/{name-of-your-volume} /opt/nvidia/deepstream/deepstream-6.4/{name-of-your-volume}
cd /opt/nvidia/deepstream/deepstream-6.4/{name-of-your-volume}

Now you are ready to develop your first DeepStream app with CGC SDK.

Example resources​

Python bindings and sample applications

DeepStream Python boilerplate