How to configure deepstream-app to parse h265 video stream?
any command option or configure item can fix this, see below issue for details:
$ deepstream-app --version-all
deepstream-app version 6.3.0
DeepStreamSDK 6.3.0
CUDA Driver Version: 11.4
CUDA Runtime Version: 11.4
TensorRT Version: 8.5
cuDNN Version: 8.6
libNVWarp360 Version: 2.0.1d3
$ deepstream-app --help-all
Usage:
deepstream-app [OPTION?] Nvidia DeepStream Demo
Help Options:
-h, --help Show help options
--help-all Show all help options
--help-gst Show GStreamer Options
GStreamer Options
--gst-version Print the GStreamer version
--gst-fatal-warnings Make all warnings fatal
--gst-debug-help Print available debug categories and exit
--gst-debug-level=LEVEL Default debug level from 1 (only error) to 9 (anything) or 0 for no output
--gst-debug=LIST Comma-separated list of category_name:level pairs to set specific levels for the individual categories. Example: GST_AUTOPLUG:5,GST_ELEMENT_*:3
--gst-debug-no-color Disable colored debugging output
--gst-debug-color-mode Changes coloring mode of the debug log. Possible modes: off, on, disable, auto, unix
--gst-debug-disable Disable debugging
--gst-plugin-spew Enable verbose plugin loading diagnostics
--gst-plugin-path=PATHS Colon-separated paths containing plugins
--gst-plugin-load=PLUGINS Comma-separated list of plugins to preload in addition to the list stored in environment variable GST_PLUGIN_PATH
--gst-disable-segtrap Disable trapping of segmentation faults during plugin loading
--gst-disable-registry-update Disable updating the registry
--gst-disable-registry-fork Disable spawning a helper process while scanning the registry
Application Options:
-v, --version Print DeepStreamSDK version
-t, --tiledtext Display Bounding box labels in tiled mode
--version-all Print DeepStreamSDK and dependencies version
-c, --cfg-file Set the config file
-i, --input-uri Set the input uri (file://stream or rtsp://stream)
PS: deepstream-app comes with deepstream installation.
Please provide complete information as applicable to your setup.
• Hardware Platform (Jetson / GPU)
• DeepStream Version
• JetPack Version (valid for Jetson only)
• TensorRT Version
• NVIDIA GPU Driver Version (valid for GPU only)
• Issue Type( questions, new requirements, bugs)
• How to reproduce the issue ? (This is for bugs. Including which sample app is using, the configuration files content, the command line used and other details for reproducing)
• Requirement details( This is for new requirement. Including the module name-for which plugin or for which sample application, the function description)
from this topic, Gstreamer need to use udpsrc to receive rtp stream. currently deepstream-app does not support using updsrc to receive rtp stream. Here are two solutions.
deepstream-app is opensource. you can modify create_multi_source_bin of \opt\nvidia\deepstream\deepstream-7.1\sources\apps\apps-common\src\deepstream_source_bin.c to add support for updsrc.
you can set up a rtsp source instead of rtp source. then update[source0] by setting type=4 and url=rtsp://xxx.
uridecodebin is Gstreamer Opensource plugin, please read the code to check if it can support UDP protocol. NV nvv4l2decoder supports decoding raw H265 data.
uridecodebin is created in create_uridecode_src_bin of deeptream-app. uridecodebin is Gstreamer bin plugin, which will wrap protocol parsing , decoder. In decodebin_child_added, some decoder parameters like drop-frame-interval can be set to decoder.