How to set RTSP NTP timestamp

Hi, we want to get the RTSP NTP timestamp instead of sys time. We have set attach-sys-ts=0, but it displayed:timastamp:1970-xxxxxxxx.

What app is you using? This feature only works with deepstream-app now and only support RTSP source.

We are using test5, and it do receive RTSP source from a web cam.

We doubt whether the RTSP source have send RTCP SR to DS, so we followed NTP Timestamp in DeepStream https://docs.nvidia.com/metropolis/deepstream/plugin-manual/index.html#page/DeepStream%20Plugins%20Development%20Guide/deepstream_plugin_details.3.14.html#wwpID0E3HA

We run:GST_DEBUG=3 gst-launch-1.0 rtspsrc location=rtsp://xxx ! fakesink
But it shows:
0:00:00.543718827 8128 0x5587bcd1dd30 WARN GST_ELEMENT_FACTORY gstelementfactory.c:456:gst_element_factory_make: no such element factory “rtspsrc”!
0:00:00.543813630 8128 0x5587bcd1dd30 ERROR GST_PIPELINE grammar.y:816:priv_gst_parse_yyparse: No component“rtspsrc”
0:00:00.598029463 8128 0x5587bcd1dd30 ERROR GST_PIPELINE grammar.y:901:priv_gst_parse_yyparse: The link has no source
Warning: wrong pipeline:No component“rtspsrc”

We run:GST_DEBUG=3 gst-launch-1.0 uridecodebin uri=rtsp://xxx ! fakesink
But it shows:
0:00:00.077768395 8423 0x5633be511f20 WARN uridecodebin gsturidecodebin.c:1409:gen_source_element: error: “rtsp”The URI handler is not implemented.
ERROR: The pipe doesn’t want to be suspended.
Missing components: “Real-time Streaming Protocol (RTSP) source”
ERROR:From the component /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0:“The RTSP "does not implement the URI handler.
Additional debugging information:
gsturidecodebin.c(1409): gen_source_element (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0
Set the NULL pipe…
Release pipeline resources…

Have you installed Deepstream SDK correctly? What is your dev enviroment?

With test5 app, you only need to modify the config file under /opt/nvidia/deepstream/deepstream-5.0/sources/apps/sample_apps/deepstream-test5/configs.

Setting rtsp source and adding “attach-sys-ts-as-ntp=0” for streammux group, then it works.

env:
• Hardware Platform (Jetson / GPU) GeForce GTX 1050Ti
• DeepStream Version 5.0
• TensorRT Version 7.0
• NVIDIA GPU Driver Version (valid for GPU only) 440.100

Do you mean I can send RTCP timestamp to Kafka just by adding attach-sys-ts-as=0 and setting up the RTSP source without doing anything else?

I am sure I have installed Deepstream SDK correctly, and I do add attach-sys-ts-as-ntp=0 and I run command:./test5 -c configs/xxx.txt -p 0.

I guess my HIKVISION cam did not send SR to DS. So I use VLC player for streaming, it now can send a meaningful massage to kafka about timestamp, but it looks like also equal to sys time. I am not sure whether it works now.

Do you mean you still get timastamp:1970-xxxxxxxx?

Yes. In the begining, I just add attach-sys-ts-as=0 and setting up the RTSP source, and kafka broker gets timastamp:1970-xxxxxxxx

So you need to check whether the server sends rtcp packet correctly, and then check whether your machine can receive the rtcp packet correctly.

I have checked just now, I found that I can receive a correct timestamp when I use VLC player. ( I use VLC player to stream my cam and change the sys time to 2019xxx. On another host, I set the RTSP source to the VLC stream address, and I run command:./test5 -c configs/xxx.txt -p 0. It’s nice to see that Kafka displays a timestamp of 2019xxx which means it not use sys time as ntp timestamp ):-)

However, I just receive 1970xxxxx when I directly use a HIKVISION cam.

So does this mean I can not receive RTCP packet if I directly using the cam?

Well, I tried again the method that had just succeeded and unfortunately found it get WRONG timestamp again.

I mean you need to check whether HIKVISION sends rtcp packet correctly? Not udp packet, because you can get the video so udp packet is OK.

I run: sudo tshark -i eno1 -f “src host 192.168.1.xxx” -Y “rtcp” (HIKVISION cam add);
and I run: gst-launch-1.0 rtspsrc location= rtsp://admin:xxx@192.168.1.xxx/h264/ch1/main/av_stream ! fakesink

The output of the tshark monitoring tool shows nothing.

If no rtcp SR, NTP is not set.

Is that normal? Is there a way for my camera to send the rtcp SR if it’s abnormal?

This needs to consult the manufacture of the camera.

You are right. Thank you for your help.