RTSP video streaming push problem

Hello!
I use RTSP to push video stream on TX2, but the efficiency is very low, and the video at the receiving end is not smooth.

My approach is:
gst_rtsp_media_factory_set_launch (factory,
“( appsrc name=mysrc ! videoconvert ! video/x-raw,format=I420 ! omxh264enc threads=1 speed-preset=ultrafast tune=zerolatency ! rtph264pay name=pay0 pt=96 )”);

What method can solve the problem?

Hi,
Please share data format/resolution of appsrc, such as video/x-raw,width=1920,height-=1080,format=BGR.
It is CPU buffers(video/x-raw) in appsrc so you shall suffer one memcpy() of copying from video/x-raw to video/x-raw(memory:NVMM).

Hi,
data format/resolution of appsrc:

GstElement *element, *appsrc;

element = gst_rtsp_media_get_element (media);
appsrc = gst_bin_get_by_name_recurse_up (GST_BIN (element), "mysrc");
gst_util_set_object_arg (G_OBJECT (appsrc), "format", "time");

g_object_set (G_OBJECT (appsrc), "caps",
              gst_caps_new_simple ("video/x-raw",
                                   "format", G_TYPE_STRING, "RGB",
                                   "width", G_TYPE_INT, VIDEOWIDTH,
                                   "height", G_TYPE_INT, VIDEOHEIGHT,
                                   "framerate", GST_TYPE_FRACTION, 15, 1, NULL), NULL);

#define VIDEOWIDTH 640
#define VIDEOHEIGHT 480

Hi,
appsrc is CPU-buffer source . You may run ‘sudo jetson_clocks’ to get max performance.

You may also try

"( appsrc name=mysrc ! videoconvert ! video/x-raw,format=RGBA ! nvvidconv ! 'video/x-raw(memory:NVMM),format=NV12' ! omxh264enc threads=1 speed-preset=ultrafast tune=zerolatency ! rtph264pay name=pay0 pt=96 )"

Thank you. I have solved the problem.