DeepStream 4.0.1 for Jetson TX2 integrated with Azure

How to stream the output video frames of the DeepStream to azure and view the video frames in azure

Hi
please refer to sources/apps/sample_apps/deepstream-test5/README part
#Run deepstream-test5-app as Azure iotedge module:

Hi
I can access the rtsp stream from local network using rtsp::8554/ds-test .but how can i access it from public IP . I mean ,i want to access it from public ip which is not in the same local network .
Thanks

Did you use sink type 4=UDPSink for output streaming? but from your description, you want to stream output to azure, if this case, see comment 2,
for type 4, you can visualize it through vlc.

i am trying to run this module without deploying it from azure and send the output to azure is that possible or i have to deploy it from azure to get Environment IOTEDGE_AUTHSCHEME
when i run this command :

deepstream-test5-app -c test5_config_file_src_infer_azure_iotedge_01.txt

i get this error :

** WARN: <create_pipeline:930>: Num of Tiles less than number of sources, readjusting to 2 rows, 1 columns

(deepstream-test5-app:25590): GLib-CRITICAL **: 15:00:41.896: g_strrstr: assertion ‘haystack != NULL’ failed
Error: Time:Mon Apr 20 15:00:41 2020 File:/home/nvidia/azure/azure-iot-sdk-c/iothub_client/src/iothub_client_core_ll.c Func:retrieve_edge_environment_variabes Line:177 Environment IOTEDGE_AUTHSCHEME not set
Error: Time:Mon Apr 20 15:00:41 2020 File:/home/nvidia/azure/azure-iot-sdk-c/iothub_client/src/iothub_client_core_ll.c Func:IoTHubClientCore_LL_CreateFromEnvironment Line:1186 retrieve_edge_environment_variabes failed
Error: Time:Mon Apr 20 15:00:41 2020 File:/home/nvidia/azure/azure-iot-sdk-c/iothub_client/src/iothub_client_core.c Func:create_iothub_instance Line:924 Failure creating iothub handle
ERROR: iotHubModuleClientHandle is NULL! connect failed
** ERROR: main:1123: Failed to set pipeline to PAUSED
Quitting
ERROR from sink_sub_bin_sink2: Could not configure supporting library.
Debug info: /dvs/git/dirty/git-master_linux/deepstream/sdk/src/gst-plugins/gst-nvmsgbroker/gstnvmsgbroker.c(332): gst_nvmsgbroker_start (): /GstPipeline:pipeline/GstBin:sink_sub_bin2/GstNvMsgBroker:sink_sub_bin_sink2:
unable to connect to broker library
ERROR from sink_sub_bin_sink2: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure.
Debug info: gstbasesink.c(5265): gst_base_sink_change_state (): /GstPipeline:pipeline/GstBin:sink_sub_bin2/GstNvMsgBroker:sink_sub_bin_sink2:
Failed to start
App run failed

put i am connecting to azure iot edge how i get

Environment IOTEDGE_AUTHSCHEME not set

you can refer to test code and README sources/libs/azure_protocol_adaptor/device_client/
for how it done, you need to create iot hub first.

Create azure IOT hub : https://docs.microsoft.com/en-us/azure/iot-hub/tutorial-connectivity
NOTE: Once you have your IOT hub created, please make sure you fill in the connection details in cfg_azure.txt

How can i get the bounding boxes location as numbers

“ClassName”:“person”
“ROI”:{
“top”:
“left”:
“right”:
“bottom”:

       }

Please check sources/libs/nvmsgconv/nvmsgconv.cpp::generate_deepstream_message_minimal or generate_schema_message based on porperty msg-conv-payload-type set in config,
see this, we have bbox coordinate output, and also objects attributes, you can change the format accordingly.

NvDsEventMsgMeta *meta = events[i].metadata;
ss << meta->trackingId << "|" << meta->bbox.left << "|" << meta->bbox.top
    << "|" << meta->bbox.left + meta->bbox.width << "|" << meta->bbox.top + meta->bbox.height
    << "|" << object_enum_to_str (meta->objType, meta->objectId);

When i run deepstream application using deepstream-app -c <config_file.txt>
i can sink the output to show me the video of the object detection with bounding boxes around the detected object but not the location as numeric values
like

“ClassName”:“person”
“ROI”:{
“top”:
“left”:
“right”:
“bottom”:

       }

so if i want to get the location of bounding boxes as numeric values also what should i do and could you please tell me the steps to achieve that
Thanks

You can by enable gie-kitti-output-dir in config, which will output object lable and bbox coordinates.

Could you please show me how i can do that

Thanks

[application]
enable-perf-measurement=0
perf-measurement-interval-sec=5
gie-kitti-output-dir=/home/nvidia/streamscl //this one