RTSP gst-launch using nano

I have some questions:

  1. I try RTSP live video stream with TX2 as server and Nano as client using test-launch.c.
    I use USB camera and read the video using v4l2.

Server side

./test-launch "v4l2src device="/dev/video1" ! video/x-raw, width=1280, height=720, bitrate=1000000 ! tee name=t t. ! queue ! nvoverlaysink overlay-x=0 overlay-y=0 overlay-w=1280 overlay-h=720 t. ! queue !  omxh264enc ! video/x-h264, profile=baseline ! rtph264pay name=pay0 pt=96"

Client side

export RTSP_PATH=rtsp://192.168.1.31:8554/test
gst-launch-1.0 rtspsrc location="$RTSP_PATH" latency=0 ! rtph264depay ! h264parse ! omxh264dec ! nvoverlaysink overlay-x=0 overlay-y=0 overlay-w=1280 overlay-h=720 overlay=2

This works!!

But, when I change Nano as server and TX2 as client, it can’t works…
Sure I change the IP address for RTSP_PATH.

  1. I try to use TX2 as server and stream video using RTSP:
    rtsp://192.168.1.31:8554/test

TX2 side (server)

./test-launch "v4l2src device="/dev/video1" ! video/x-raw, width=640, height=480, bitrate=1000000 ! omxh265enc ! rtph265pay config-interval=1 name=pay0 pt=96"

This works!!

I try the same command using Nano but I can’t stream RTSP via VLC.

I don’t know why Nano can’t be used as a server for RTSP.

Please help…
Thank you…

Hi,
You may try uridecodebin on Jetson Nano:

$ gst-launch-1.0 uridecodebin uri=rtsp://192.168.1.31:8554/test ! nvoverlaysink

Your command looks not right. The server sends h265 stream but client uses h264 decoder. Using uridecodebin selects correct decoder automatically.

Hi, there are two commands I use.
First for RTSP TX2 to Nano, I use h264.
Sorry, I copy the wrong commands.
I have fix it.

This the command for server side

./test-launch "v4l2src device="/dev/video1" ! video/x-raw, width=1280, height=720, bitrate=1000000 ! tee name=t t. ! queue ! nvoverlaysink overlay-x=0 overlay-y=0 overlay-w=1280 overlay-h=720 t. ! queue !  omxh264enc ! video/x-h264, profile=baseline ! rtph264pay name=pay0 pt=96"

Second for RTSP TX2 to VLC, I use h265.

For the first case, I have try TX2 to Nano.
TX2 is server and Nano is client, it’s works.

Now I want to try RTSP Nano to TX2.
Nano is server and TX2 is client.
It can’t works.

I have try your suggestion and still can’t works.

Is there any idea?
Thank you.

Hi,
Please try
Nano/Server

./test-launch "videotestsrc ! omxh265enc ! rtph265pay name=pay0 pt=96"

TX2/Client

$ gst-launch-1.0 uridecodebin uri=_NANO_RTSP_URI_ ! nvoverlaysink

Let’s see if videotestsrc works.

Hi, Thanks for reply.

I try as your suggestion using h265, I didn’t get error, but it didn’t show anything.
Then I change to h264, it works but the image not correct.

Hi,
We can run server on Nano and client on TX2 without any issue. We are using r32.2.3(Jetpack4.2.3).

Probably a network issue in your environment. You may try VLC player on Windows PC like this post:
https://devtalk.nvidia.com/default/topic/1018689/jetson-tx2/vlc-playing-gstreamer-flow/post/5187270/#5187270

Hi, do you try using a USB camera and v4l2?

May I know your command for server and client side?

I use Jetpack 4.3 on Nano and the network is fine.
I use 5G connection.

For my second try Nano RTSP to VLC, I use VLC on windows player.

My first and second try using TX2 are fine.

Thanks.

Hi,
We have verified the command on Jetson Nano + E-Con See3CAM_CU135:

$ ./test-launch "v4l2src ! video/x-raw,format=UYVY,width=1280,height=720,framerate=30/1 ! nvvidconv ! omxh265enc ! rtph265pay name=pay0 pt=96"

FYR.

Oh, thank you very much.
I try this and success.

What client side command did you run with this?

Hi, I already forget, but I think this one will works

$ gst-launch-1.0 uridecodebin uri=NANO_RTSP_URI ! nvoverlaysink