prominenceai/deepstream-services-library

'GstNvArgusCameraSrc' has no property named 'bufapi-version'

Closed this issue · 7 comments

I followed the instructions to compile and build the dsl library successfully. But when I run the test code

#!/usr/bin/env python
from dsl import *

#New CSI Live Camera Source
retval = dsl_source_csi_new('csi-source', 1280, 720, 30, 1)

if retval != DSL_RETURN_SUCCESS:
print(retval)
# --- handle error

I got the error information: (python:330436): GLib-GObject-CRITICAL **: 22:57:55.694: g_object_set_is_valid_property: object class 'GstNvArgusCameraSrc' has no property named 'bufapi-version'

I don't know what caused this problem. Anyone knows how to solve it. Thanks.
code
error information
System Information

@yliuosu thank you for reporting this.

The setting of this property is conditional based on the DeepStream version as the property was removed in DS 6.3. But it looks my check is invalid because it's only testing the minor version.

        // DS 6.2 ONLY - removed in DS 6.3 AND 6.4
        if (NVDS_VERSION_MINOR < 3)
        {
            m_pSourceElement->SetAttribute("bufapi-version", TRUE);
        }

This will be a benign error and should not cause any issues. I will fix this in the current release in progress.

Thanks again,
Robert.

Thank you so much for your prompt and detailed response!

@yliuosu I'm going to keep this issue open until I have it resolved.

Hi, Sir,

I had another question about how to view the RTSP Server output . I saw the RTSP Server Sink example code:

retval = dsl_sink_rtsp_server_new('rtsp-sink',
host = "0.0.0.0", # 0.0.0.0 = "this host, this network."
udp_port = 5400, # UDP port 5400 uses the Datagram Protocol.
rtsp_port = 8554, #
codec = DSL_CODEC_H265, # High Efficiency Video Coding (HEVC)
bitrate = 0, # Set to 0 to use plugin default (4000000)
interval = 0)

how can I view the rtsp stream in the vlc player, I tired "rtsp://localhost:8554", "rtsp://0.0.0.0:8554/", "rtsp://localhost:8554/ds-test", "rtsp://0.0.0.0:8554/ds-test" in vlc player . None of them worked and I didn't find any example about how to view the rtsp output.

Thanks for your time

@yliuosu I switched from VLC to Pot Player some time ago. I find it much easier to test with. You might consider doing the same.

Once installed, go to Open->Open URL

image

The URL is composed of

rtsp://<device-name>:<password>@<ip-address>:8554/<sink-name>

for example, if my case I have
device-name = "prominenceai-dgpu-01"
password = "123456"
ip-address of device = "192.168.1.31"
sink-name = "rtsp-sink"

which gives me a url of
rtsp://prominenceai-dgpu-01:123456@192.168.1.31:8554/rtsp-sink

Also, please be aware that there are currently 3 open issues related to Encode Sinks (RTSP Sink being one of them)

I've recently completed this work and have pushed the changes into the `v0.01.beta development branch.

I plan to release this with in the next couple of days (although it may be released as v0.31.alpha)

You may want to consider moving to this branch now. There are a couple of breaking changes... i.e. the encoder constant values to include software encoding and parameter name changes.

Let me know if you're still having problems.
Robert.

@yliuosu I took a quick look at the RTSP Sink documentation and found that the description of the URL was wrong. I've #1281 for this.

Thank you. This has been very helpful.