How install gstreamer and rtsp server on Jetson tx2

hi everyone!
i have manifold g-2 ( DJI pc with Jetson tx2 )
OS: ubuntu 16.04 aarch64

i tried to install gstreamer ( with base, good,bad and ugly plugins…) and gst rtsp server.

i success to compile from source this plugins:

but when i try to compile from source rtsp server with :
https://gstreamer.freedesktop.org/src/gst-rtsp/gst-rtsp-server-1.14.2.tar.xz

its fail in ‘make’ command

i dont sure that i do well…
someone has a good steps to install gstremear+ rtsp server ?

Hi,
The default version is

nvidia@nvidia-desktop:~$ gst-inspect-1.0 --version
gst-inspect-1.0 version 1.14.5
GStreamer 1.14.5

You may not need to manually install 1.14.2. For installing rtsp server, please run

sudo apt-get install libgstrtspserver-1.0

You can refer to
Jetson Nano FAQ
Q: Is there any example of running RTSP streaming?

when i run :
$ gst-inspect-1.0 --version

i get:
gst-inspect-1.0 version 1.8.3
GStreamer 1.8.3
https://launchpad.net/distros/ubuntu/+source/gstreamer1.0

i install successfully the command:
sudo apt-get install libgstrtspserver-1.0

i have ready rtsp server ( on my Ubuntu 18 PC)
i understand that the codec on amd64 and aarch64 is different

my line in ubuntu PC amd64 is :

i have DJI drone that send h264 stream to buffer and i write a little rtsp server that take this h264 and publish as server for everyone )

my pipe on ubuntu 18 PC (amd64) is:

appsrc name=mysrc ! queue ! decodebin ! videorate ! video/x-raw,framerate=24/1 ! x264enc speed-preset=superfast tune=zerolatency ! h264parse ! rtph264pay name=pay0 pt=96

i change the encode from x264enc to omxh264enc

now:
appsrc name=mysrc ! queue ! decodebin ! videorate ! video/x-raw,framerate=24/1 ! omxh264enc ! h264parse ! rtph264pay name=pay0 pt=96

( i have more code in my c project …)

i try to run my rtsp on jetson tx2 but I can not connect to my rtsp server… ( rtsp server works well on Ubuntu PC …)

my question is : the pip gst above for jetson tx2 is right? or i need to change more things?

what can i do?
thank you DaneLLL

Hi,
Please share your release version( $ head -1 /etc/nv_tegra_release ). Seems like you use r28 release instead of r32.

hi DaneLLL,
$ head -1 /etc/nv_tegra_release

R28 (release), REVISION: 2.1, GCID: 11272647, BOARD: t186ref, EABI: aarch64

Hi,
Please check if you can launch RTSP server through test-launch:
[h265]

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

[h264]

$ ./test-launch "videotestsrc ! nvvidconv ! omxh264enc ! h264parse ! rtph264pay name=pay0 pt=96"

$ ./test-launch “videotestsrc ! nvvidconv ! omxh264enc ! h264parse ! rtph264pay name=pay0 pt=96”

works well

i found that scale the resolution works too.
but the one thing that i couldn’t change is the FPS

this works:

appsrc name=mysrc ! h264parse ! omxh264dec ! nvvidconv ! video/x-raw(memory:NVMM), width=480, height=360, format=I420 ! omxh264enc control-rate=1 target-bitrate=40000000 ! video/x-h264, profile=baseline ! rtph264pay pt=96 name=pay0

but this does not :

appsrc name=mysrc ! h264parse ! omxh264dec ! nvvidconv ! video/x-raw(memory:NVMM), width=480, height=360, framerate=24/1 format=I420 ! omxh264enc control-rate=1 target-bitrate=40000000 ! video/x-h264, profile=baseline ! rtph264pay pt=96 name=pay0

when i do not change the the fps , the default is 30 , maybe somes nvidia tx2 doesnot support changing in fps ?

Hi,
We don’t change framerate in nvvidconv, omxh264dec, omxh264enc. Suggest you keep the framerate same as the source.

1 Like