Problem with RTSP server on jetson tx2i

Hello,
I have a Jetson Tx2i board with the last release of L4T.
I try to launch a gstreamer RTSP server with the following line :
gst_rtsp_media_factory_set_launch(factory, "( "
"videotestsrc ! video/x-raw,width=1920,height=1080,framerate=15/1,format=I420 ! "
"omxh264enc temporal-tradeoff=3 ! video/x-h264,width=1920,height=1080,framerate=15/1 "
“!rtph264pay config-interval=1 pt=96 "
" )”);

and to save it with the following command :
gst-launch-1.0 -e rtspsrc location=URL latency=0 ! rtph264depay ! h64parse ! mp4mux ! filesink location=test.mp4
and I have the following error on rtsp server :

0:00:07.899256405 17823 0x4be4f0 WARN omx gstomx.c:2826:plugin_init: Failed to load configuration file: Valid key file could not be found in search dirs (searched in: /home/nvidia/.config:/etc/xdg as per GST_OMX_CONFIG_DIR environment variable, the xdg user config directory (or XDG_CONFIG_HOME) and the system config directory (or XDG_CONFIG_DIRS)
0:00:07.914177287 17823 0x7f8c007540 FIXME default gstutils.c:3766:gst_pad_create_stream_id_internal:videotestsrc0:src Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:07.914825338 17823 0x7f8c007540 FIXME videoencoder gstvideoencoder.c:606:gst_video_encoder_setcaps: GstVideoEncoder::reset() is deprecated
Framerate set to : 15 at NvxVideoEncoderSetParameterNvMMLiteOpen : Block : BlockType = 4
===== MSENC =====
NvMMLiteBlockCreate : Block : BlockType = 4
0:00:07.927919851 17823 0x7f8c007540 WARN omxvideoenc gstomxvideoenc.c:1860:gst_omx_video_enc_set_format: Error setting temporal_tradeoff 3 : Vendor specific error (0x00000001)
===== MSENC blits (mode: 1) into tiled surfaces =====
0:00:07.974757874 17823 0x7f7c003000 WARN rtph264pay gstrtph264pay.c:749:gst_rtp_h264_pay_send_sps_pps: Problem pushing SPS
0:00:07.974813934 17823 0x7f7c003000 WARN rtph264pay gstrtph264pay.c:763:gst_rtp_h264_pay_send_sps_pps: Problem pushing PPS
0:00:07.974854603 17823 0x7f7c003000 WARN omxvideoenc gstomxvideoenc.c:1383:gst_omx_video_enc_loop: error: Internal data stream error.
0:00:07.974871786 17823 0x7f7c003000 WARN omxvideoenc gstomxvideoenc.c:1383:gst_omx_video_enc_loop: error: stream stopped, reason not-linked
0:00:07.975196500 17823 0x7f8c0072d0 WARN rtspmedia rtsp-media.c:2164:default_handle_message: 0x7f8c032370: got error Internal data stream error. (/dvs/git/dirty/git-master_linux/external/gstreamer/gst-omx/omx/gstomxvideoenc.c(1383): gst_omx_video_enc_loop (): /GstPipeline:media-pipeline/GstBin:bin0/GstOMXH264Enc-omxh264enc:omxh264enc-omxh264enc0:
stream stopped, reason not-linked)
0:00:07.975273838 17823 0x4be4f0 WARN rtspmedia rtsp-media.c:2459:wait_preroll: failed to preroll pipeline
0:00:07.975293773 17823 0x4be4f0 WARN rtspmedia rtsp-media.c:2749:gst_rtsp_media_prepare: failed to preroll pipeline
0:00:07.982513239 17823 0x4be4f0 ERROR rtspclient rtsp-client.c:729:find_media: client 0x6110c0: can’t prepare media
0:00:07.982975319 17823 0x4be4f0 ERROR rtspclient rtsp-client.c:2239:handle_describe_request: client 0x6110c0: no media

and on client I have the following error :

Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Unhandled error
Additional debug info:
…/…/…/gst-plugins-good-1.12.2/gst/rtsp/gstrtspsrc.c(5625): gst_rtspsrc_send (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Service Unavailable (503)
ERROR: pipeline doesn’t want to preroll.
Setting pipeline to PAUSED …
Setting pipeline to READY …
Setting pipeline to NULL …
Freeing pipeline

Can someone can help me please ?
Thanks a lots

Please refer to
[url]https://devtalk.nvidia.com/default/topic/1043770/jetson-tx2/problems-minimizing-latency-and-maximizing-quality-for-rtsp-and-mpeg-ts-/post/5295828/#5295828[/url]

Hello,
I already see this topic and this doesn’t help at all.

Hi,
test-launch is a working case of RTSP. You may refer to it. Other users may also share experiences.

Yes is all working great when we use software encoding but when we try to use hardware encoding it doesn’t work

Hi,
It uses HW encoding in the link
Can you run this successfully? We have verified this and you shall run it without issues.

Yes I see and I test this command and I have the same error that I describe in my first post

1 Like

Hi,
We again verify the example and it works well. Do you run exactly the same pipeline?

$ ./test-launch "nvcamerasrc ! video/x-raw(memory:NVMM),width=640,height=480 ! tee name=t t. ! queue ! nvoverlaysink overlay-x=50 overlay-y=50 overlay-w=640 overlay-h=480 t. ! queue ! omxh264enc ! video/x-h264,profile=baseline ! rtph264pay name=pay0 pt=96"

If it is still not working, can you please try to re-flash the system via Jetpack3.3?

Hi,
The rtsp server start but when a tried to save it with gst-launch-1.0 -e rtspsrc location=rtsp://IP/test latency=500 ! rtph264depay ! h264parse ! mp4mux ! filesink location=test.mp4
I have the same problem as before.
I tried with the command described in the link but nothing happened.
Ok I will tried to reflash the jetson.
Thanks for you help

Hi recompile gstreamer and it’s look better but I have the same error as before for all the commands.
The following error seems ok for you :
Error setting temporal_tradeoff 0 : Vendor specific error (0x00000001)
Thanks.

1 Like

streaming

./test-launch "( nvcamerasrc sensor-id=0 ! video/x-raw(memory:NVMM), width=1920, height=1080, framerate=30/1, format=I420 ! nvvidconv flip-method=4 ! video/x-raw, width=720, height=480, framerate=30/1, 
format=I420 ! timeoverlay ! omxh265enc ! rtph265pay name=pay0 pt=96 )"

playing

gst-launch-1.0 rtspsrc location=rtsp://127.0.0.1:8554/test  ! 'application/x-rtp, media=(string)video' ! decodebin ! videoconvert ! ximagesink

what is the version of Jetpack you are using?