DeepStream 4.0.2 Jetson Nano RTSP Sink

Hi, all

My config:

[sink3]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
#1=h264 2=h265
codec=1
sync=0
bitrate=4000000
rtsp-host=192.168.1.12
rtsp-port=8554
udp-port=5400

With this sink, I can fetch one RTSP stream from 192.168.1.12:8554, but only one.

How can I fetch more RTSP stream from the sink?

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)

Jetson Nano
DeepStream4.0.2
JetPack: R32 (release), REVISION: 3.1, GCID: 18186506, BOARD: t210ref, EABI: aarch64, DATE: Tue Dec 10 06:58:34 UTC 2019
TensorRT: 6.0.1-1+cuda10.0

How many sources do you have? Do you use deepstream-app for this case? Can you upload the whole config file?

[application]
enable-perf-measurement=1
perf-measurement-interval-sec=5
#gie-kitti-output-dir=streamscl

[tiled-display]
enable=1
rows=1
columns=1
width=1280
height=720
gpu-id=0
nvbuf-memory-type=0

[source0]
enable=0
#Type - 1=CameraV4L2 2=URI 3=MultiURI
type=3
#uri=file:///home/jetson/workspace/deepstream_sdk_v4.0.2_jetson/samples/streams/sample_720p.mp4
uri=file:///home/jetson/workspace/testshanghai_720p.mp4
#drop-frame-interval=10
num-sources=1
gpu-id=0
nvbuf-memory-type=0

[source1]
enable=0
#Type - 1=CameraV4L2 2=URI 3=MultiURI
type=3
#uri=file:///home/jetson/workspace/deepstream_sdk_v4.0.2_jetson/samples/streams/sample_1080p_h264.mp4
uri=file:///home/jetson/workspace/testbeijing_720p.mp4
#drop-frame-interval=2
num-sources=1
gpu-id=0
nvbuf-memory-type=0

[source2]
enable=1
#Type - 1=CameraV4L2 2=URI 3=MultiURI
type=2
#uri=file:///home/jetson/workspace/deepstream_sdk_v4.0.2_jetson/samples/streams/sample_1080p_h264.mp4
uri=rtsp://admin:HadoopAdmin@192.168.1.108
#drop-frame-interval=2
num-sources=1
gpu-id=0
nvbuf-memory-type=0

[sink0]
enable=0
#Type - 1=FakeSink 2=EglSink 3=File
type=2
sync=0
source-id=0
gpu-id=0
nvbuf-memory-type=0

[sink1]
enable=0
#Type - 1=FakeSink 2=EglSink 3=File 4=UDPSink 5=nvoverlaysink 6=MsgConvBroker
type=6
msg-conv-config=dstest5_msgconv_sample_config.txt
#(0): PAYLOAD_DEEPSTREAM - Deepstream schema payload
#(1): PAYLOAD_DEEPSTREAM_MINIMAL - Deepstream schema payload minimal
#(256): PAYLOAD_RESERVED - Reserved type
#(257): PAYLOAD_CUSTOM - Custom schema payload
msg-conv-payload-type=0
msg-broker-proto-lib=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_kafka_proto.so
#Provide your msg-broker-conn-str here
msg-broker-conn-str=192.168.31.109;9092;vehicle
topic=vehicle
#Optional:
msg-broker-config=…/…/deepstream-test4/cfg_kafka.txt

[sink2]
enable=0
type=3
#1=mp4 2=mkv
container=1
#1=h264 2=h265 3=mpeg4
codec=1
sync=0
bitrate=4000000
output-file=out.mp4
source-id=0

[sink3]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
#1=h264 2=h265
codec=1
sync=1
qos=1
bitrate=4000000
rtsp-host=192.168.1.12
rtsp-port=8554
udp-port=5400

#Do Not Disable On Screen Display
[osd]
enable=1
gpu-id=0
border-width=2
text-size=10
text-color=1;1;0.2;1;
text-bg-color=0.3;0.3;0.3;0.5
font=Arial
show-clock=1
clock-x-offset=800
clock-y-offset=820
clock-text-size=12
clock-color=1;0;0;0
nvbuf-memory-type=0

[streammux]
gpu-id=0
##Boolean property to inform muxer that sources are live
live-source=0
batch-size=1
##time out in usec, to wait after the first buffer is available
##to push the batch even if the complete batch is not formed
batched-push-timeout=40000
width=1280
height=720
##Enable to maintain aspect ratio wrt source, and allow black borders, works
##along with width, height properties
enable-padding=0
nvbuf-memory-type=0

[primary-gie]
enable=1
gpu-id=0
#Required to display the PGIE labels, should be added even when using config-file
#property
batch-size=1
#Required by the app for OSD, not a plugin property
bbox-border-color0=1;0;0;1
bbox-border-color1=0;1;1;1
bbox-border-color2=0;0;1;1
bbox-border-color3=0;1;0;1
interval=0
#Required by the app for SGIE, when used along with config-file property
gie-unique-id=1
nvbuf-memory-type=0
model-engine-file=…/…/…/…/…/samples/models/Primary_Detector_Nano/resnet10.caffemodel_b8_fp16.engine
labelfile-path=…/…/…/…/…/samples/models/Primary_Detector_Nano/labels.txt
config-file=…/…/…/…/…/samples/configs/deepstream-app/config_infer_primary.txt
#infer-raw-output-dir=…/…/…/…/…/samples/primary_detector_raw_output/

[tracker]
enable=1
tracker-width=480
tracker-height=272
ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_iou.so
#ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_mot_klt.so
#ll-lib-file=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_nvdcf.so
#ll-config-file required for DCF/IOU only
#ll-config-file=tracker_config.yml
#ll-config-file=iou_config.txt
gpu-id=0
#enable-batch-process applicable to DCF only
enable-batch-process=0

I just used the test5 sample.

Seems you want to two sinks for one source. Currently deepstream-app can not support it. Maybe you can try to write your own pipeline to support it.

I just used sink3, the rtsp sink. I found that I could just fetch one rtsp stream from the rtsp server, 192.168.1.12:8554. DeepStream only supports one RTSP output, right?

Since there is only one rtsp server (192.168.1.12:8554) in your configuration, so there is only one rtsp stream output.

DeepStreamSDK can support multiple rtsp servers setting(with different ip+port addresses). You need to config multiple rtsp servers with rtsp sinks.

Does that mean that I can just build one connection with one rtsp server (192.168.1.12:8554)? Can I config the allowed connection nums?

I don’t understand your question. Are you trying to view the 192.168.1.12:8554 stream with multiple stream viewer? There is no limitation in the server for the number of clients connected with it.

It’s right for " Are you trying to view the 192.168.1.12:8554 stream with multiple stream viewer? "
Oh, but in my app, there can only be one stream viewer.
Maybe it’s limmited by my Jetson Neno memory?

Maybe you can try with other devices which are connected to the device who is running the deepstream application through network.

Are you running the deepstream application and stream viewer in the same Nano board? There may be some limitation since Nano resource is very limited.

I am trying coding a web to view the rtsp output. I open the web on my PC.

There is no limitation in the server for the number of clients connected with it.

Ok, thank you for the most. I’ll try it on Jetson Xavier later.