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
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
Default configuration
These arguments are added by default to the DeepStream app, to the jupyter lab command:
--ip=0.0.0.0- binds the app to all available IP addresses--port=8888- sets the port for the app to listen on--allow-root- allows root user to access the app
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.
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.