Application Migration to DeepStream 6.4 from DeepStream 6.3

Running DeepStream 6.3 compiled Apps in DeepStream 6.4

To run the old app from DeepStream 6.3 in DeepStream 6.4, create symlinks of the libraries so the old application can find them.:

mkdir /opt/nvidia/deepstream/deepstream-6.3
mkdir /opt/nvidia/deepstream/deepstream-6.3/lib
ln -s /opt/nvidia/deepstream/deepstream-6.4/lib/* /opt/nvidia/deepstream/deepstream-6.3/lib/

Compiling DeepStream 6.3 Apps in DeepStream 6.4

Before compiling DeepStream 6.3 applications in DeepStream 6.4, modify the Makefiles and set the NVDS_VERSION flag to 6.4. There are two options to compile DeepStream 6.3 in DeepStream 6.4:

  1. Option 1: Replace existing sources/apps from DeepStream-6.4 and copy the entire `sources/apps directory from DeepStream-6.3.

  2. Option 2 : Individual applications in DeepStream SDK have dependency on sources under apps-common directory. Ideally, to compile those applications, you must use the same version of apps-common. In case you want to use the latest version, you may need to adjust some application function calls because of a change in application function definitions.

Migrating DeepStream 6.3 Gst-nvtracker to DeepStream 6.4

In DeepStream 6.4, the past-frame data structure of Gst-nvtracker is renamed as Target Miscellaneous Data in nvds_tracker_meta.h; and accordingly, NvDsPastFrameObj, NvDsPastFrameObjList, NvDsPastFrameObjStream and NvDsPastFrameObjBatch are renamed as NvDsTargetMiscDataFrame, NvDsTargetMiscDataObject, NvDsTargetMiscDataStream and NvDsTargetMiscDataBatch, respectively. If a DeepStream 6.3 application or custom tracker uses the past-frame data, it should adopt the new miscellaneous data structures and recompile the source code when migrating to DS 6.4.


By default, OpenCV is deprecated in DeepStream 6.1. However, you can enable OpenCV in plugins such as nvinfer (nvdsinfer) and dsexample (gst-dsexample) by setting WITH_OPENCV=1 in the Makefile of these components. Refer to the component README for more instructions.