CINXE.COM
Welcome to the DeepStream Documentation — DeepStream documentation
<!DOCTYPE html> <html lang="en" data-content_root="../" > <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" /> <title>Welcome to the DeepStream Documentation — DeepStream documentation</title> <script data-cfasync="false"> document.documentElement.dataset.mode = localStorage.getItem("mode") || ""; document.documentElement.dataset.theme = localStorage.getItem("theme") || ""; </script> <!-- Loaded before other Sphinx assets --> <link href="../_static/styles/theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" /> <link href="../_static/styles/bootstrap.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" /> <link href="../_static/styles/pydata-sphinx-theme.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" /> <link href="../_static/vendor/fontawesome/6.5.2/css/all.min.css?digest=dfe6caa3a7d634c4db9b" rel="stylesheet" /> <link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-solid-900.woff2" /> <link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-brands-400.woff2" /> <link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.2/webfonts/fa-regular-400.woff2" /> <link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=a746c00c" /> <link rel="stylesheet" type="text/css" href="../_static/styles/nvidia-sphinx-theme.css?v=eb367b29" /> <link rel="stylesheet" type="text/css" href="../_static/custom.css?v=7abaf8bc" /> <link rel="stylesheet" type="text/css" href="../_static/sphinx-design.min.css?v=95c83b7e" /> <!-- Pre-loaded scripts that we'll load fully later --> <link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b" /> <link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b" /> <script src="../_static/vendor/fontawesome/6.5.2/js/all.min.js?digest=dfe6caa3a7d634c4db9b"></script> <script src="../_static/documentation_options.js?v=22d9b4cb"></script> <script src="../_static/doctools.js?v=9a2dae69"></script> <script src="../_static/sphinx_highlight.js?v=dc90522c"></script> <script src="../_static/design-tabs.js?v=f930bc37"></script> <script>DOCUMENTATION_OPTIONS.pagename = 'text/DS_Overview';</script> <script> DOCUMENTATION_OPTIONS.theme_version = '0.15.4'; DOCUMENTATION_OPTIONS.theme_switcher_json_url = '../versions1.json'; DOCUMENTATION_OPTIONS.theme_switcher_version_match = '7.1'; DOCUMENTATION_OPTIONS.show_version_warning_banner = true; </script> <script src="../_static/version-patch.js?v=c24f8c5d"></script> <link rel="icon" href="../_static/Nvidia.ico"/> <link rel="index" title="Index" href="../genindex.html" /> <link rel="search" title="Search" href="../search.html" /> <link rel="next" title="Migration Guide" href="DS_Migration_guide.html" /> <link rel="prev" title="NVIDIA DeepStream SDK Developer Guide" href="../index.html" /> <meta name="viewport" content="width=device-width, initial-scale=1"/> <meta name="docsearch:language" content="en"/> <meta name="docbuild:last-update" content="Oct 17, 2024"/> <script src="https://assets.adobedtm.com/5d4962a43b79/c1061d2c5e7b/launch-191c2462b890.min.js" ></script> </head> <body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode=""> <div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div> <div id="pst-scroll-pixel-helper"></div> <button type="button" class="btn rounded-pill" id="pst-back-to-top"> <i class="fa-solid fa-arrow-up"></i>Back to top</button> <input type="checkbox" class="sidebar-toggle" id="pst-primary-sidebar-checkbox"/> <label class="overlay overlay-primary" for="pst-primary-sidebar-checkbox"></label> <input type="checkbox" class="sidebar-toggle" id="pst-secondary-sidebar-checkbox"/> <label class="overlay overlay-secondary" for="pst-secondary-sidebar-checkbox"></label> <div class="search-button__wrapper"> <div class="search-button__overlay"></div> <div class="search-button__search-container"> <form class="bd-search d-flex align-items-center" action="../search.html" method="get"> <i class="fa-solid fa-magnifying-glass"></i> <input type="search" class="form-control" name="q" id="search-input" placeholder="Search the docs ..." aria-label="Search the docs ..." autocomplete="off" autocorrect="off" autocapitalize="off" spellcheck="false"/> <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span> </form></div> </div> <div class="pst-async-banner-revealer d-none"> <aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside> </div> <header class="bd-header navbar navbar-expand-lg bd-navbar d-print-none"> <div class="bd-header__inner bd-page-width"> <button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation"> <span class="fa-solid fa-bars"></span> </button> <div class="col-lg-3 navbar-header-items__start"> <div class="navbar-item"> <a class="navbar-brand logo" href="../index.html"> <img src="../_static/nvidia-logo-horiz-rgb-blk-for-screen.svg" class="logo__image only-light" alt="DeepStream documentation - Home"/> <script>document.write(`<img src="../_static/nvidia-logo-horiz-rgb-wht-for-screen.svg" class="logo__image only-dark" alt="DeepStream documentation - Home"/>`);</script> <p class="title logo__title">DeepStream documentation</p> </a></div> </div> <div class="col-lg-9 navbar-header-items"> <div class="navbar-header-items__end"> <div class="navbar-item navbar-persistent--container"> <script> document.write(` <button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="fa-solid fa-magnifying-glass"></i> <span class="search-button__default-text">Search</span> <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span> </button> `); </script> </div> <div class="navbar-item"> <script> document.write(` <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i> <i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i> <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i> </button> `); </script></div> <div class="navbar-item"><ul class="navbar-icon-links" aria-label="Icon Links"> <li class="nav-item"> <a href="https://twitter.com/nvidiaomniverse" title="twitter" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-twitter fa-lg" aria-hidden="true"></i> <span class="sr-only">twitter</span></a> </li> <li class="nav-item"> <a href="https://www.youtube.com/channel/UCSKUoczbGAcMld7HjpCR8OA" title="youtube" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-youtube fa-lg" aria-hidden="true"></i> <span class="sr-only">youtube</span></a> </li> <li class="nav-item"> <a href="https://www.instagram.com/nvidiaomniverse" title="instagram" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-instagram fa-lg" aria-hidden="true"></i> <span class="sr-only">instagram</span></a> </li> <li class="nav-item"> <a href="https://www.nvidia.com/en-us/omniverse/" title="www" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-solid fa-globe fa-lg" aria-hidden="true"></i> <span class="sr-only">www</span></a> </li> <li class="nav-item"> <a href="https://www.linkedin.com/showcase/nvidia-omniverse" title="linkedin" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-linkedin fa-lg" aria-hidden="true"></i> <span class="sr-only">linkedin</span></a> </li> <li class="nav-item"> <a href="https://www.twitch.tv/nvidiaomniverse" title="twitch" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-twitch fa-lg" aria-hidden="true"></i> <span class="sr-only">twitch</span></a> </li> </ul></div> </div> </div> <div class="navbar-persistent--mobile"> <script> document.write(` <button class="btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="fa-solid fa-magnifying-glass"></i> <span class="search-button__default-text">Search</span> <span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span> </button> `); </script> </div> <button class="pst-navbar-icon sidebar-toggle secondary-toggle" aria-label="On this page"> <span class="fa-solid fa-outdent"></span> </button> </div> </header> <div class="bd-container"> <div class="bd-container__inner bd-page-width"> <div class="bd-sidebar-primary bd-sidebar"> <a class="navbar-brand logo" href="../index.html"> <img src="../_static/nvidia-logo-horiz-rgb-blk-for-screen.svg" class="logo__image only-light" alt="DeepStream documentation - Home"/> <script>document.write(`<img src="../_static/nvidia-logo-horiz-rgb-wht-for-screen.svg" class="logo__image only-dark" alt="DeepStream documentation - Home"/>`);</script> <p class="title logo__title">DeepStream documentation</p> </a> <div class="sidebar-header-items sidebar-primary__section"> <div class="sidebar-header-items__end"> <div class="navbar-item"> <script> document.write(` <button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip"> <i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light"></i> <i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark"></i> <i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto"></i> </button> `); </script></div> <div class="navbar-item"><ul class="navbar-icon-links" aria-label="Icon Links"> <li class="nav-item"> <a href="https://twitter.com/nvidiaomniverse" title="twitter" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-twitter fa-lg" aria-hidden="true"></i> <span class="sr-only">twitter</span></a> </li> <li class="nav-item"> <a href="https://www.youtube.com/channel/UCSKUoczbGAcMld7HjpCR8OA" title="youtube" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-youtube fa-lg" aria-hidden="true"></i> <span class="sr-only">youtube</span></a> </li> <li class="nav-item"> <a href="https://www.instagram.com/nvidiaomniverse" title="instagram" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-instagram fa-lg" aria-hidden="true"></i> <span class="sr-only">instagram</span></a> </li> <li class="nav-item"> <a href="https://www.nvidia.com/en-us/omniverse/" title="www" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-solid fa-globe fa-lg" aria-hidden="true"></i> <span class="sr-only">www</span></a> </li> <li class="nav-item"> <a href="https://www.linkedin.com/showcase/nvidia-omniverse" title="linkedin" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-linkedin fa-lg" aria-hidden="true"></i> <span class="sr-only">linkedin</span></a> </li> <li class="nav-item"> <a href="https://www.twitch.tv/nvidiaomniverse" title="twitch" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-twitch fa-lg" aria-hidden="true"></i> <span class="sr-only">twitch</span></a> </li> </ul></div> </div> </div> <div class="sidebar-primary-items__start sidebar-primary__section"> <div class="sidebar-primary-item"> <nav class="bd-docs-nav bd-links" aria-label="Table of Contents"> <p class="bd-links__title" role="heading" aria-level="1">Table of Contents</p> <div class="bd-toc-item navbar-nav"><p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Getting Started</span></p> <ul class="current nav bd-sidenav"> <li class="toctree-l1 current active"><a class="current reference internal" href="#">Welcome to the DeepStream Documentation</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_Migration_guide.html">Migration Guide</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_Installation.html">Installation</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_Quickstart.html">Quickstart Guide</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_docker_containers.html">Docker Containers</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Samples</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_C_Sample_Apps.html">C/C++ Sample Apps Source Details</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_Python_Sample_Apps.html">Python Sample Apps and Bindings Source Details</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_ref_app_deepstream.html">DeepStream Reference Application - deepstream-app</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_ref_app_test5.html">DeepStream Reference Application - deepstream-test5 app</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_ref_app_nmos.html">DeepStream Reference Application - deepstream-nmos app</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_ref_app_github.html">DeepStream Reference Application on GitHub</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_sample_configs_streams.html">Sample Configurations and Streams</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_sample_custom_gstream.html">Implementing a Custom GStreamer Plugin with OpenCV Integration Example</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">TAO toolkit Integration with DeepStream</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_TAO_integration.html">TAO Toolkit Integration with DeepStream</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">Tutorials and How-to's</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_3D_Custom_Manual.html">DeepStream-3D Custom Apps and Libs Tutorials</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Performance</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_Performance.html">Performance</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Accuracy</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_Accuracy.html">Accuracy Tuning Tools</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Custom Model</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_using_custom_model.html">Using a Custom Model with DeepStream</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Key Features</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_3D_MultiModal_Lidar_Sensor_Fusion.html">DeepStream-3D Sensor Fusion Multi-Modal Application and Framework</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_3D_MultiModal_Lidar_Camera_BEVFusion.html">DeepStream-3D Multi-Modal BEVFusion Setup</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_3D_MultiModal_Lidar_Camera_V2XFusion.html">DeepStream-3D Multi-Modal V2XFusion Setup</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_Smart_video.html">Smart Video Record</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_IoT.html">IoT</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_on_the_fly_model.html">On the Fly Model Update</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_NTP_Timestamp.html">NTP Timestamp in DeepStream</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_AVSync.html">AV Sync in DeepStream</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_RestServer.html">DeepStream With REST API Sever</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_3D_Action.html">DeepStream 3D Action Recognition App</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_3D_Depth_Camera.html">DeepStream 3D Depth Camera App</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_3D_Lidar_Inference.html">DeepStream 3D Lidar Inference App</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_library_nvdsnmos.html">Networked Media Open Specifications (NMOS) in DeepStream</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_postprocessing_plugin.html">Gst-nvdspostprocess in DeepStream</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_Can_Orientation.html">DeepStream Can Orientation App</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Application Migration</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_Application_migration.html">Application Migration to DeepStream 7.1 from DeepStream 7.0</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Plugin Guide</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1 has-children"><a class="reference internal" href="DS_plugin_Intro.html">GStreamer Plugin Overview</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_metadata.html">MetaData in the DeepStream SDK</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdspreprocess.html">Gst-nvdspreprocess (Alpha)</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvinfer.html">Gst-nvinfer</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvinferserver.html">Gst-nvinferserver</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvtracker.html">Gst-nvtracker</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvstreammux.html">Gst-nvstreammux</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvstreammux2.html">Gst-nvstreammux New</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvstreamdemux.html">Gst-nvstreamdemux</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvmultistreamtiler.html">Gst-nvmultistreamtiler</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdsosd.html">Gst-nvdsosd</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdsmetautils.html">Gst-nvdsmetautils</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdsvideotemplate.html">Gst-nvdsvideotemplate</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdsaudiotemplate.html">Gst-nvdsaudiotemplate</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvvideoconvert.html">Gst-nvvideoconvert</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdewarper.html">Gst-nvdewarper</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvof.html">Gst-nvof</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvofvisual.html">Gst-nvofvisual</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvsegvisual.html">Gst-nvsegvisual</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvvideo4linux2.html">Gst-nvvideo4linux2</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvjpegdec.html">Gst-nvjpegdec</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvimagedec.html">Gst-nvimagedec</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvjpegenc.html">Gst-nvjpegenc</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvimageenc.html">Gst-nvimageenc</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvmsgconv.html">Gst-nvmsgconv</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvmsgbroker.html">Gst-nvmsgbroker</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdsanalytics.html">Gst-nvdsanalytics</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdsudpsrc.html">Gst-nvdsudpsrc</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdsudpsink.html">Gst-nvdsudpsink</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdspostprocess.html">Gst-nvdspostprocess (Alpha)</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvds3dfilter.html">Gst-nvds3dfilter</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvds3dbridge.html">Gst-nvds3dbridge</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvds3dmixer.html">Gst-nvds3dmixer</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdsucx.html">Gst-NvDsUcx</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvdsxfer.html">Gst-nvdsxfer</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvvideotestsrc.html">Gst-nvvideotestsrc</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvmultiurisrcbin.html">Gst-nvmultiurisrcbin</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_plugin_gst-nvurisrcbin.html">Gst-nvurisrcbin</a></li> </ul> </details></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Troubleshooting and FAQ</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_troubleshooting.html">Troubleshooting</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_FAQ.html">Frequently Asked Questions</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream On WSL2</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_on_WSL2.html">DeepStream On WSL</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_WSL2_FAQ.html">FAQ for Deepstream On WSL</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream API Guide</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_API_Guide.html">DeepStream API Guides</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Service Maker</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_service_maker_intro.html">What is Deepstream Service Maker</a></li> <li class="toctree-l1"><a class="reference internal" href="DS_service_maker_cpp.html">Service Maker for C/C++ Developers</a></li> <li class="toctree-l1 has-children"><a class="reference internal" href="DS_service_maker_python.html">Service Maker for Python Developers(alpha)</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul> <li class="toctree-l2"><a class="reference internal" href="DS_service_maker_python_quick_start.html">Quick Start Guide</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_service_maker_python_into_to_flow_api.html">Introduction to Flow APIs</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_service_maker_python_into_to_pipeline_api.html">Introduction to Pipeline APIs</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_service_maker_python_advanced_features.html">Advanced Features</a></li> <li class="toctree-l2"><a class="reference internal" href="DS_service_maker_traditional_app_migration.html">Migrating Traditional Deepstream Apps to Service Maker Apps in Python</a></li> </ul> </details></li> <li class="toctree-l1"><a class="reference internal" href="DS_service_maker_plugin.html">What is a Deepstream Service Maker Plugin</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">Deepstream Libraries</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_Libraries.html">DeepStream Libraries (Developer Preview)</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">Graph Composer</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_intro.html">Overview</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">Platforms</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_Platforms.html">Ubuntu 22.04 LTS (x86_64)</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">Getting Started</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_Getting_Started.html">Application Development Workflow</a></li> </ul> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_GraphComposer_Create_Graph.html">Creating an AI Application</a></li> </ul> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_Zero_Coding_Sample_Graphs.html">Reference graphs</a></li> </ul> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_Dev_Workflow.html">Extension Development Workflow</a></li> </ul> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_Zero_Coding_Developing_Extension.html">Developing Extensions for DeepStream</a></li> </ul> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_Zero_Coding_DS_Components.html">DeepStream Components</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">GXF Internals</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GXF_Internals.html">GXF Internals</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">Graph eXecution Engine</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_Graph_Runtime.html">Graph Execution Engine</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">Graph Composer Containers</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_Containers.html">Graph Composer and GXF Containers</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">GXF Component Interfaces</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GXF_Component_Interfaces.html">GXF Component Interfaces</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">GXF Application API's</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GXF_App_C%2B%2B_APIs.html">GXF App C++ APIs</a></li> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GXF_App_Python_APIs.html">GXF App Python APIs</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">GXF Runtime API's</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GXF_Core_C%2B%2B_APIs.html">GXF Core C++ APIs</a></li> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GXF_Core_C_APIs.html">GXF Core C APIs</a></li> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GXF_Core_Python_APIs.html">GXF Core Python APIs</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">Extension Manual</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1 has-children"><a class="reference internal" href="Extensionmanual_toc.html">Extensions</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/CudaExtension.html">CudaExtension</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/StreamSync.html">GXF Stream Sync</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/StandardExtension.html">StandardExtension</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/Python_Codelet.html">Python Codelets</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/NetworkExtension.html">NetworkExtension</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/NvTritonExt.html">NvTritonExt</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/SerializationExtension.html">SerializationExtension</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/MultimediaExtension.html">MultimediaExtension</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/VideoEncoderExtension.html">VideoEncoderExtension</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/VideoDecoderExtension.html">VideoDecoderExtension</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/Behavior_Tree.html">Behavior Trees</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/UcxExtension.html">UCX Extension</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/HttpExtension.html">HttpExtension</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/GrpcExtension.html">GrpcExtension</a></li> <li class="toctree-l2"><a class="reference internal" href="../graphtools-docs/docs/text/ExtensionsManual/TensorrtExtension.html">TensorRTExtension</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDs3dProcessingExt.html">NvDs3dProcessingExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsActionRecognitionExt.html">NvDsActionRecognitionExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsAnalyticsExt.html">NvDsAnalyticsExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsBaseExt.html">NvDsBaseExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsCloudMsgExt.html">NvDsCloudMsgExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsConverterExt.html">NvDsConverterExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsDewarperExt.html">NvDsDewarperExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsInferenceExt.html">NvDsInferenceExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsInferenceUtilsExt.html">NvDsInferenceUtilsExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsInterfaceExt.html">NvDsInterfaceExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsMuxDemuxExt.html">NvDsMuxDemuxExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsOpticalFlowExt.html">NvDsOpticalFlowExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsOutputSinkExt.html">NvDsOutputSinkExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsSampleExt.html">NvDsSampleExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsSampleModelsExt.html">NvDsSampleModelsExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsSourceExt.html">NvDsSourceExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsTemplateExt.html">NvDsTemplateExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsTrackerExt.html">NvDsTrackerExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsTranscodeExt.html">NvDsTranscodeExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsTritonExt.html">NvDsTritonExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsUcxExt.html">NvDsUcxExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsUdpExt.html">NvDsUdpExt</a></li> <li class="toctree-l2"><a class="reference internal" href="ExtensionsManual/NvDsVisualizationExt.html">NvDsVisualizationExt</a></li> </ul> </details></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">Tools</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_Registry.html">Registry</a></li> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_Registry_CLI.html">Registry Command Line Interface</a></li> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_Composer.html">Composer</a></li> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_Container_Builder.html">Container Builder</a></li> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_gxf_CLI.html">GXF Command Line Interface</a></li> <li class="toctree-l1"><a class="reference internal" href="Pipetuner-guide.html">Pipetuner Guide</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">FAQ Guide</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="../graphtools-docs/docs/text/GraphComposer_FAQ.html">FAQ</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Legal Information</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DS_Legal.html">DeepStream End User License Agreement</a></li> </ul> <p aria-level="2" class="caption" role="heading"><span class="caption-text">DeepStream Feedback</span></p> <ul class="nav bd-sidenav"> <li class="toctree-l1"><a class="reference internal" href="DeepStream_Main_Feedback_Form.html">Feedback form</a></li> </ul> </div> </nav></div> </div> <div class="sidebar-primary-items__end sidebar-primary__section"> <div class="sidebar-primary-item"> <script> document.write(` <div class="version-switcher__container dropdown"> <button id="pst-version-switcher-button-2" type="button" class="version-switcher__button btn btn-sm dropdown-toggle" data-bs-toggle="dropdown" aria-haspopup="listbox" aria-controls="pst-version-switcher-list-2" aria-label="Version switcher list" > Choose version <!-- this text may get changed later by javascript --> <span class="caret"></span> </button> <div id="pst-version-switcher-list-2" class="version-switcher__menu dropdown-menu list-group-flush py-0" role="listbox" aria-labelledby="pst-version-switcher-button-2"> <!-- dropdown will be populated by javascript on page load --> </div> </div> `); </script></div> </div> <div id="rtd-footer-container"></div> </div> <main id="main-content" class="bd-main" role="main"> <div class="bd-content"> <div class="bd-article-container"> <div class="bd-header-article d-print-none"> <div class="header-article-items header-article__inner"> <div class="header-article-items__start"> <div class="header-article-item"> <nav aria-label="Breadcrumb" class="d-print-none"> <ul class="bd-breadcrumbs"> <li class="breadcrumb-item breadcrumb-home"> <a href="../index.html" class="nav-link" aria-label="Home"> <i class="fa-solid fa-home"></i> </a> </li> <li class="breadcrumb-item active" aria-current="page">Welcome to...</li> </ul> </nav> </div> </div> </div> </div> <div id="searchbox"></div> <article class="bd-article"> <section id="welcome-to-the-deepstream-documentation"> <h1>Welcome to the DeepStream Documentation<a class="headerlink" href="#welcome-to-the-deepstream-documentation" title="Link to this heading">#</a></h1> <div class="admonition important"> <p class="admonition-title">Important</p> <p>Ensure you understand how to migrate your DeepStream 7.0 custom models to DeepStream 7.1 before you start.</p> </div> <div class="admonition important"> <p class="admonition-title">Important</p> <p>DeepStream 7.1 is the release that supports new features for NVIDIA<sup>®</sup> T4, NVIDIA<sup>®</sup> Hopper, NVIDIA<sup>®</sup> Ampere, NVIDIA<sup>®</sup> ADA, NVIDIA<sup>®</sup> Jetson™ Orin NX, NVIDIA<sup>®</sup> Jetson™ AGX Orin and NVIDIA<sup>®</sup> Jetson™ Orin Nano. It is the release with support for Ubuntu 22.04 LTS.</p> </div> <div class="admonition important"> <p class="admonition-title">Important</p> <p>For NVAIE customers, only x86 platform is supported.</p> </div> <section id="nvidia-deepstream-overview"> <h2>NVIDIA DeepStream Overview<a class="headerlink" href="#nvidia-deepstream-overview" title="Link to this heading">#</a></h2> <p>DeepStream is a streaming analytic toolkit to build AI-powered applications. It takes the streaming data as input - from USB/CSI camera, video from file or streams over RTSP, and uses AI and computer vision to generate insights from pixels for better understanding of the environment. DeepStream SDK can be the foundation layer for a number of video analytic solutions like understanding traffic and pedestrians in smart city, health and safety monitoring in hospitals, self-checkout and analytics in retail, detecting component defects at a manufacturing facility and others. Read more about DeepStream <a class="reference external" href="https://ngc.nvidia.com/catalog/collections/nvidia:deepstreamcomputervision">here</a>.</p> <blockquote> <div><img alt="DeepStream Overview" class="align-center" src="../_images/DeepStream_Overview.png" /> </div></blockquote> <p>DeepStream supports application development in C/C++ and in Python through the Python bindings. To make it easier to get started, DeepStream ships with several reference applications in both in C/C++ and in Python. See the <a class="reference internal" href="DS_C_Sample_Apps.html"><span class="doc">C/C++ Sample Apps Source Details</span></a> and <a class="reference internal" href="DS_Python_Sample_Apps.html"><span class="doc">Python Sample Apps and Bindings Source Details</span></a> sections to learn more about the available apps. See <a class="reference external" href="https://github.com/NVIDIA-AI-IOT/deepstream_reference_apps">NVIDIA-AI-IOT</a> GitHub page for some sample DeepStream reference apps.</p> <p>The core SDK consists of several hardware accelerator plugins that use accelerators such as VIC, GPU, DLA, NVDEC and NVENC. By performing all the compute heavy operations in a dedicated accelerator, DeepStream can achieve highest performance for video analytic applications. One of the key capabilities of DeepStream is secure bi-directional communication between edge and cloud. DeepStream ships with several out of the box security protocols such as SASL/Plain authentication using username/password and 2-way TLS authentication. To learn more about these security features, read the <a class="reference internal" href="DS_IoT.html"><span class="doc">IoT</span></a> chapter. To learn more about bi-directional capabilities, see the <a class="reference internal" href="DS_IoT.html#bi-directional-label"><span class="std std-ref">Bidirectional Messaging</span></a> section in this guide.</p> <p>DeepStream builds on top of several NVIDIA libraries from the CUDA-X stack such as CUDA, TensorRT, NVIDIA<sup>®</sup> Triton<sup>™</sup> Inference server and multimedia libraries. TensorRT accelerates the AI inference on NVIDIA GPU. DeepStream abstracts these libraries in DeepStream plugins, making it easy for developers to build video analytic pipelines without having to learn all the individual libraries.</p> <p>DeepStream is optimized for NVIDIA GPUs; the application can be deployed on an embedded edge device running Jetson platform or can be deployed on larger edge or datacenter GPUs like T4. DeepStream applications can be deployed in containers using NVIDIA container Runtime. The containers are available on NGC, NVIDIA GPU cloud registry. To learn more about deployment with dockers, see the Docker container chapter. DeepStream applications can be orchestrated on the edge using Kubernetes on GPU. <a class="reference external" href="https://ngc.nvidia.com/catalog/helm-charts/nvidia:video-analytics-demo">Sample Helm chart</a> to deploy DeepStream application is available on NGC.</p> <section id="deepstream-graph-architecture"> <h3>DeepStream Graph Architecture<a class="headerlink" href="#deepstream-graph-architecture" title="Link to this heading">#</a></h3> <p>DeepStream is an optimized graph architecture built using the open source GStreamer framework. . The graph below shows a typical video analytic application starting from input video to outputting insights. All the individual blocks are various plugins that are used. At the bottom are the different hardware engines that are utilized throughout the application. Optimum memory management with zero-memory copy between plugins and the use of various accelerators ensure the highest performance.</p> <img alt="DeepStream Overview" class="align-center" src="../_images/DS_overview_graph_architecture.png" /> <p>DeepStream provides building blocks in the form of GStreamer plugins that can be used to construct an efficient video analytic pipeline. There are more than 20 plugins that are hardware accelerated for various tasks.</p> <ul class="simple"> <li><p>Streaming data can come over the network through RTSP or from a local file system or from a camera directly. The streams are captured using the CPU. Once the frames are in the memory, they are sent for decoding using the NVDEC accelerator. The plugin for decode is called <a class="reference internal" href="DS_plugin_gst-nvvideo4linux2.html"><span class="doc">Gst-nvvideo4linux2</span></a>.</p></li> <li><p>After decoding, there is an optional image pre-processing step where the input image can be pre-processed before inference. The pre-processing can be image dewarping or color space conversion. <a class="reference internal" href="DS_plugin_gst-nvdewarper.html"><span class="doc">Gst-nvdewarper</span></a> plugin can dewarp the image from a fisheye or 360 degree camera. <a class="reference internal" href="DS_plugin_gst-nvvideoconvert.html"><span class="doc">Gst-nvvideoconvert</span></a> plugin can perform color format conversion on the frame. These plugins use GPU or VIC (vision image compositor).</p></li> <li><p>The next step is to batch the frames for optimal inference performance. Batching is done using the <a class="reference internal" href="DS_plugin_gst-nvstreammux.html"><span class="doc">Gst-nvstreammux</span></a> plugin.</p></li> <li><p>Once frames are batched, it is sent for inference. The inference can be done using TensorRT, NVIDIA’s inference accelerator runtime or can be done in the native framework such as TensorFlow or <cite>PyTorch</cite> using Triton inference server. Native TensorRT inference is performed using <a class="reference internal" href="DS_plugin_gst-nvinfer.html"><span class="doc">Gst-nvinfer</span></a> plugin and inference using Triton is done using <a class="reference internal" href="DS_plugin_gst-nvinferserver.html"><span class="doc">Gst-nvinferserver</span></a> plugin. The inference can use the GPU or DLA (Deep Learning accelerator) for Jetson AGX Orin and Orin NX.</p></li> <li><p>After inference, the next step could involve tracking the object. There are several built-in reference trackers in the SDK, ranging from high performance to high accuracy. Object tracking is performed using the <a class="reference internal" href="DS_plugin_gst-nvtracker.html"><span class="doc">Gst-nvtracker</span></a> plugin.</p></li> <li><p>For creating visualization artifacts such as bounding boxes, segmentation masks, labels there is a visualization plugin called <a class="reference internal" href="DS_plugin_gst-nvdsosd.html"><span class="doc">Gst-nvdsosd</span></a>.</p></li> <li><p>Finally to output the results, DeepStream presents various options: render the output with the bounding boxes on the screen, save the output to the local disk, stream out over RTSP or just send the metadata to the cloud. For sending metadata to the cloud, DeepStream uses <a class="reference internal" href="DS_plugin_gst-nvmsgconv.html"><span class="doc">Gst-nvmsgconv</span></a> and <a class="reference internal" href="DS_plugin_gst-nvmsgbroker.html"><span class="doc">Gst-nvmsgbroker</span></a> plugin. <a class="reference internal" href="DS_plugin_gst-nvmsgconv.html"><span class="doc">Gst-nvmsgconv</span></a> converts the metadata into schema payload and <a class="reference internal" href="DS_plugin_gst-nvmsgbroker.html"><span class="doc">Gst-nvmsgbroker</span></a> establishes the connection to the cloud and sends the telemetry data. There are several built-in broker protocols such as Kafka, MQTT, AMQP and Azure IoT. Custom broker adapters can be created.</p></li> </ul> </section> <section id="deepstream-reference-app"> <h3>DeepStream reference app<a class="headerlink" href="#deepstream-reference-app" title="Link to this heading">#</a></h3> <p>To get started, developers can use the provided reference applications. Also included are the source code for these applications. The end-to-end application is called <cite>deepstream-app</cite>. This app is fully configurable - it allows users to configure any type and number of sources. Users can also select the type of networks to run inference. It comes pre-built with an inference plugin to do object detection cascaded by inference plugins to do image classification. There is an option to configure a tracker. For the output, users can select between rendering on screen, saving the output file, or streaming the video out over RTSP.</p> <img alt="DeepStream Overview" class="align-center" src="../_images/DS_overview_reference_app.png" /> <p>This is a good reference application to start learning the capabilities of DeepStream. This application is covered in greater detail in the <a class="reference internal" href="DS_ref_app_deepstream.html"><span class="doc">DeepStream Reference Application - deepstream-app</span></a> chapter. The source code for this application is available in <cite>/opt/nvidia/deepstream/deepstream/sources/apps/sample_apps/deepstream-app</cite>. This application will work for all AI models with detailed instructions provided in individual READMEs. The performance benchmark is also run using this application.</p> </section> <section id="getting-started-with-building-apps"> <h3>Getting started with building apps<a class="headerlink" href="#getting-started-with-building-apps" title="Link to this heading">#</a></h3> <p>For developers looking to build their custom application, the <cite>deepstream-app</cite> can be a bit overwhelming to start development. The SDK ships with several simple applications, where developers can learn about basic concepts of DeepStream, constructing a simple pipeline and then progressing to build more complex applications.</p> <img alt="DeepStream Overview" class="align-center" src="../_images/DS_overview_building_apps.png" /> <p>Developers can start with deepstream-test1 which is almost like a DeepStream hello world. In this app, developers will learn how to build a GStreamer pipeline using various DeepStream plugins. They will take video from a file, decode, batch and then do object detection and then finally render the boxes on the screen. The deepstream-test2 progresses from test1 and cascades secondary network to the primary network. The deepstream-test3 shows how to add multiple video sources and then finally test4 will show how to IoT services using the message broker plugin. These 4 starter applications are available in both native C/C++ as well as in Python. To read more about these apps and other sample apps in DeepStream, see the <a class="reference internal" href="DS_C_Sample_Apps.html"><span class="doc">C/C++ Sample Apps Source Details</span></a> and <a class="reference internal" href="DS_Python_Sample_Apps.html"><span class="doc">Python Sample Apps and Bindings Source Details</span></a>.</p> <p>DeepStream applications can be created without coding using the Graph Composer. Please see the Graph Composer <a class="reference internal" href="DS_Zero_Coding_Introduction.html"><span class="doc">Introduction</span></a> for details.</p> </section> <section id="deepstream-in-python"> <h3>DeepStream in Python<a class="headerlink" href="#deepstream-in-python" title="Link to this heading">#</a></h3> <p>Python is easy to use and widely adopted by data scientists and deep learning experts when creating AI models. NVIDIA introduced Python bindings to help you build high-performance AI applications using Python. DeepStream pipelines can be constructed using <cite>Gst-Python</cite>, the GStreamer framework’s Python bindings.</p> <img alt="DeepStream Overview" class="align-center" src="../_images/DS_Overview_deepstream_python.png" /> <p>The DeepStream Python application uses the <cite>Gst-Python</cite> API action to construct the pipeline and use probe functions to access data at various points in the pipeline. The data types are all in native C and require a shim layer through <cite>PyBindings</cite> or NumPy to access them from the Python app. Tensor data is the raw tensor output that comes out after inference. If you are trying to detect an object, this tensor data needs to be post-processed by a parsing and clustering algorithm to create bounding boxes around the detected object. To get started with Python, see the <a class="reference internal" href="DS_Python_Sample_Apps.html"><span class="doc">Python Sample Apps and Bindings Source Details</span></a> in this guide and “DeepStream Python” in the DeepStream <a class="reference external" href="../python-api/index.html">Python API Guide</a>.</p> </section> </section> </section> </article> <footer class="prev-next-footer d-print-none"> <div class="prev-next-area"> <a class="left-prev" href="../index.html" title="previous page"> <i class="fa-solid fa-angle-left"></i> <div class="prev-next-info"> <p class="prev-next-subtitle">previous</p> <p class="prev-next-title">NVIDIA DeepStream SDK Developer Guide</p> </div> </a> <a class="right-next" href="DS_Migration_guide.html" title="next page"> <div class="prev-next-info"> <p class="prev-next-subtitle">next</p> <p class="prev-next-title">Migration Guide</p> </div> <i class="fa-solid fa-angle-right"></i> </a> </div> </footer> </div> <div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner"> <div class="sidebar-secondary-item"> <div id="pst-page-navigation-heading-2" class="page-toc tocsection onthispage"> <i class="fa-solid fa-list"></i> On this page </div> <nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2"> <ul class="visible nav section-nav flex-column"> <li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#nvidia-deepstream-overview">NVIDIA DeepStream Overview</a><ul class="nav section-nav flex-column"> <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#deepstream-graph-architecture">DeepStream Graph Architecture</a></li> <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#deepstream-reference-app">DeepStream reference app</a></li> <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#getting-started-with-building-apps">Getting started with building apps</a></li> <li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#deepstream-in-python">DeepStream in Python</a></li> </ul> </li> </ul> </nav></div> </div></div> </div> <footer class="bd-footer-content"> </footer> </main> </div> </div> <!-- Scripts loaded after <body> so the DOM is not blocked --> <script src="../_static/scripts/bootstrap.js?digest=dfe6caa3a7d634c4db9b"></script> <script src="../_static/scripts/pydata-sphinx-theme.js?digest=dfe6caa3a7d634c4db9b"></script> <footer class="bd-footer"> <div class="bd-footer__inner bd-page-width"> <div class="footer-items__start"> <div class="footer-item"> <a class="footer-brand logo" href="https://www.nvidia.com"> <img src="../_static/nvidia-logo-horiz-rgb-1c-blk-for-screen.svg" class="logo__image only-light" alt="NVIDIA"/> <img src="../_static/nvidia-logo-horiz-rgb-1c-wht-for-screen.svg" class="logo__image only-dark" alt="NVIDIA"/> </a></div> <div class="footer-item"> <div class="footer-links"> <a class="external" href="https://www.nvidia.com/en-us/about-nvidia/privacy-policy/">Privacy Policy</a> | <a class="external" href="https://www.nvidia.com/en-us/about-nvidia/privacy-center/">Manage My Privacy</a> | <a class="external" href="https://www.nvidia.com/en-us/preferences/start/">Do Not Sell or Share My Data</a> | <a class="external" href="https://www.nvidia.com/en-us/about-nvidia/terms-of-service/">Terms of Service</a> | <a class="external" href="https://www.nvidia.com/en-us/about-nvidia/accessibility/">Accessibility</a> | <a class="external" href="https://www.nvidia.com/en-us/about-nvidia/company-policies/">Corporate Policies</a> | <a class="external" href="https://www.nvidia.com/en-us/product-security/">Product Security</a> | <a class="external" href="https://www.nvidia.com/en-us/contact/">Contact</a> </div> </div> <div class="footer-item"> <p class="copyright"> Copyright © 2024, NVIDIA Corporation. <br/> </p> </div> <div class="footer-item"><p class="last-updated"> Last updated on Oct 17, 2024. <br/> </p></div> <div class="footer-item"> <div class="extra_footer"> <script type="text/javascript">if (typeof _satellite !== "undefined") {_satellite.pageBottom();}</script> </div></div> </div> </div> </footer> </body> </html>