Error while integrating kvssink in deepstream pipeline

Please provide complete information as applicable to your setup.

• Hardware Platform (GPU)
• DeepStream Version 5.1
• TensorRT Version
• NVIDIA GPU Driver Version 440.33.01
• Issue Type( questions)
• How to reproduce the issue ?
I followed the steps on here to build the kvssink plugin for gstreamer and tried to use it as a sink in the deepstream pipeline with properties like access-key, secret-key and others. To use it I replaced the existing sink in the sample test-app test-1 with kvssink as follows:

sink = Gst.ElementFactory.make("kvssink", "kvssink")

sink.set_property('stream-name', 'test_stream')
sink.set_property('access-key', 'xxxxx')
sink.set_property('secret-key', 'xxxx')
sink.set_property('aws-region', 'xxxx')

I got the following error while running the code:

Playing file /opt/nvidia/deepstream/deepstream-5.1/samples/streams/sample_720p.h264

Adding elements to Pipeline

Linking elements in the Pipeline

Starting pipeline

[INFO ] [10-06-2021 05:44:44:810.650 GMT] createKinesisVideoClient(): Creating Kinesis Video Client
[INFO ] [10-06-2021 05:44:44:812.373 GMT] heapInitialize(): Initializing native heap with limit size 134217728, spill ratio 0% and flags 0x00000001
[INFO ] [10-06-2021 05:44:44:812.407 GMT] heapInitialize(): Creating AIV heap.
[INFO ] [10-06-2021 05:44:44:812.435 GMT] heapInitialize(): Heap is initialized OK
[DEBUG] [10-06-2021 05:44:44:812.642 GMT] stepStateMachine(): State Machine - Current state: 0x0000000000000001, Next state: 0x0000000000000002
[DEBUG] [10-06-2021 05:44:44:812.740 GMT] getSecurityTokenHandler invoked
[DEBUG] [10-06-2021 05:44:44:812.801 GMT] Refreshing credentials. Force refreshing: 0 Now time is: 1623303884812795589 Expiration: 0
[DEBUG] [10-06-2021 05:44:44:812.827 GMT] stepStateMachine(): State Machine - Current state: 0x0000000000000002, Next state: 0x0000000000000010
[INFO ] [10-06-2021 05:44:44:812.878 GMT] createDeviceResultEvent(): Create device result event.
[DEBUG] [10-06-2021 05:44:44:812.906 GMT] stepStateMachine(): State Machine - Current state: 0x0000000000000010, Next state: 0x0000000000000040
[DEBUG] [10-06-2021 05:44:44:812.921 GMT] clientReadyHandler invoked
[INFO ] [10-06-2021 05:44:44:812.980 GMT] try creating stream
terminate called after throwing an instance of ‘std::logic_error’
what(): basic_string::_M_construct null not valid
Aborted (core dumped)

kvssink is not deepstream plugin. You can not add it directly. Please ask the author of this pluin to know what is the needed input of the plugin. Or you can use gst-inspect-1.0 to get the pad information of the kvssink plugin.

What I can tell you from deepstream_test_1.py point of view, the last element before sink is gst-nvdsosd(Gst-nvdsosd — DeepStream 5.1 Release documentation), it outputs Nvidia proprietary format HW buffer to downstream element. I don’t think non-Nvidia pluing can use it correctly. This is not deepstream related issue but a normal gstreamer pipeline construction skill.

Please make sure you are familiar with gstreamer knowledge and coding skills. An also please learn the features and functions of all deepstream plugins(elements) before you want to set up your own specific pipeline.