DeepStream RTSP Streaming over mobile network

Jetson TX2
NVIDIA DeepStream SDK4.0
JetPack 4.2.1

when i run deepstream and sink the output to RTSP stream it works fine when the jetson is connected to the internet over ADSL but when i do the same thing but over mobile network ,i can not view the RTSP stream ,i found that it is not possible to bypass NAT for 3g networks and the known p2p applications like Skype and torrents also cannot bypass 3g networks , whenever they come across these problems they send data through central servers. how can i achieve that with DeepStream?

How can i send the video stream from DeepStream to Web_Server over mobile network so i can view the video stream from any device?

So how can i publish the source stream (the rtsp stream of deepstream) to Streaming Engine like (Wowza) because i can not use any device in this case (Jetson) as streaming server when it is connected to the internet over mobile network because of the NAT problem

Hi @khaledm.gamal95
I think this is pure network issue, right?
Seems this is not SDK and Jetson platform related, if it’s, you need to find 3rd plugin or any other solution out side SDK for this.

Thanks!

Thanks a lot for your reply.
Is it possible to publish an rtsp stream to streaming engine or server from deepstream ?
so i send the stream to streaming engine a playback for the streaming engine .

Hi
Does rtsp streaming can meet your requirements? in sink group, type 4, you can view the stream through vlc on server.

Yes that I can do and that works but in this case the jetson is the server for RTSP stream so anyone wants to playback,he has to connect to the jetson but what I want is to publish the rtsp stream from jetson to streaming engine like (Wowza )so anyone wants to playback has to connect to the Wowza Streaming Engine

so instead of the phone is the jetson as the source of the stream and the sink is Wowza streaming engine

Yes i am facing this problem, we want to upstream to Wowza, from Deepstream
so we created a stream like below, How can we define such stream as a sink , for example define this Wowza stream at the configuration file ‘source12_1080p_dec_infer-resnet_tracker_tiled_display_fp16_tx2’ :

[sink3]
enable=1
#Type - 1=FakeSink 2=EglSink 3=File 4=RTSPStreaming
type=4
#1=h264 2=h265
codec=1
sync=0
bitrate=4000000

set below properties in case of RTSPStreaming

rtsp-port=8554
udp-port=5400

We do not support upstream to sinks like wowza by now.

How can we upload the Video recorded , for example to Google Storage, or Amazon S3 bucket or Youtube?
Do you support Upstreaming to the Azure Cloud , as we found that there is this sink
[sink2]
enable=0
#Type - 1=FakeSink 2=EglSink 3=File 4=UDPSink 5=Overlay 6=MsgConvBroker
type=6
msg-conv-config=./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=1
msg-broker-proto-lib=/opt/nvidia/deepstream/deepstream-4.0/lib/libnvds_azure_edge_proto.so
topic=mytopic
#Optional:
#msg-broker-config=./cfg_azure.txt?

Message broker is for message sending to amqp, kafka, azure etc broker, not upstreaming to them.

https://docs.nvidia.com/metropolis/deepstream/plugin-manual/index.html#page/DeepStream%20Plugins%20Development%20Guide/deepstream_plugin_details.3.14.html#wwpID0E0SQ0HA