Dropped frames when using test-launch (RTSP)


Our camera is 3840x2160 30 frames.
If I use GStreamer alone, like this, 30Frames are maintained.

gst-launch-1.0 v4l2src device=/dev/video$SENSOR_ID \
  ! "video/x-raw, format=(string)UYVY, width=(int)3840, height=(int)2160" \
  ! videoconvert \
  ! "video/x-raw, format=(string)GRAY8" \
  ! multifilesink location=/tmp/%d.yuv max-files=100 -e

However, if RTSP is used, the GRAY8 file becomes 7 frames.
I’m using RTSP with the following content :
(FHD RTSP streaming and 4K GRAY8 file write)

test-launch --gst-debug=3 "v4l2src device=/dev/video0 \
   ! queue \
   ! tee name=w \
   ! queue \
   ! videoconvert \
   ! video/x-raw, format=(string)GRAY8 \
   ! multifilesink location=/tmp/%d.y max-files=100 -e w. \
   ! queue \
   ! nvvidconv \
   ! video/x-raw(memory:NVMM), width=1920, height=1080 \
   ! omxh264enc \
   ! h264parse \
   ! queue \
   ! rtph264pay name=pay0 pt=96 \
   " " " " "

Is RTSP causing frame drops?
Or is the merge in GRAY8 wrong?
Is there any way to increase the frame rate of GRAY8?

There are several suggestions:

  1. We have deprecated omx plugins. Please use nvv4l2h264enc
  2. Please execute sudo nvpmodel -m 2 and sudo jetson_clocks
  3. Please refer to this post to run hardware converter at max clock:
    Nvvideoconvert issue, nvvideoconvert in DS4 is better than Ds5? - #3 by DaneLLL


The situation is the same with nvv4l2h264enc .
Does nvv4l2h264enc use GPU memory?
When I check with Jtop, the GPU is 0%.
Do I need to rebuild nvv4l2h264enc ? (with CUDA)

On Jetson platforms there is individual hardware encoder(NVENC) so the encoding task is not on GPU. You can run sudo tegrastats and check if NVENC is present.

In running the pipeline CPU loading is high so the bottleneck may be in CPU capability. Please also check loading in sudo tegrastats

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