Viewing RTP Remotely on Linux - Hello AI World Tutorial for Jetson Nano

Hello,

I am doing the tutorial for Hello AI Wolrd Jetson AI Fundamentals - S3E1 - Hello AI World Setup - YouTube and I am stuck at the Network Streaming RTP Section

SSH into the NANO via WiFI (works fine)
Transmit RTP : video-viewer /dev/video0 rtp://pc_ip_address:1234 (works fine)

I then open a new terminal on my laptop to View RTP remotely : I run the GStreamer command jetson-inference/aux-streaming.md at master · dusty-nv/jetson-inference · GitHub
$ gst-launch-1.0 -v udpsrc port=1234
caps = “application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96” !
rtph264depay ! decodebin ! videoconvert ! autovideosink

And no video pops up:

This is the message I get in terminal

Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps = application/x-rtp, media=(string)video, clock-rate=(int)90000, encoding-name=(string)H264, payload=(int)96
Setting pipeline to PLAYING …
New clock: GstSystemClock

Any suggestions ?

Hi,
You may try VLC player on the laptop and see if it works. Is your laptop in Windows OS or Ubuntu OS?

I have both OS, I was using Linux though, I will try your suggestion and report back.

@nanoAI since that video was created, I have also added WebRTC support for streaming video directly to/from web browsers (hopefully this is easier to use than RTP)

How do I create an SDP file ?

@dusty_nv : Where do I enter these commands ?

You would create a text file on your PC with .sdp extension and edit it with contents like shown here under the Using VLC Player section: https://github.com/dusty-nv/jetson-inference/blob/master/docs/aux-streaming.md#viewing-rtp-remotely

Those commands to start WebRTC are run on your Jetson, and then you can navigate your browser to your Jetson’s IP address at the port you are running WebRTC on (as shown in the docs)

Using Ubuntu ver 18
I created an SDP file like @dusty_nv mentioned.

When I click on the file I get the following message:

An Error Occurred
Could not determine type of stream

I ran this command by SSH into the jetson nano
video-viewer /dev/video0 webrtc://@:8554/my_output , and its running fine , I am getting text from terminal that frames are being captured.

I opened up another terminal in the jetson nano by doing another SSH and ran this command:
video-viewer webrtc://@:8554/my_input webrtc://@:8554/my_output

And got this error message
[OpenGL] failed to open X11 server connection.
[OpenGL] failed to create X11 Window.
[gstreamer] gstDecoder::Capture() – a timeout occurred waiting for the next image buffer
[gstreamer] gstDecoder::Capture() – a timeout occurred waiting for the next image buffer

@nanoAI this is normal, the WebRTC /my_input stream is waiting for a client browser to connect and send their camera to it

What I would recommend, is trying video-viewer /dev/video0 webrtc://@:8554/my_output first, and navigate your browser to http://<JETSON-IP>:8554 (or use https instead if you have enabled SSL keys)

That worked eventually (had to try 3 times for whatever reason),

Thanks

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.