MP4 picture flicker

Hello,
I have four black and white coms connected to the agx orin platform via custom carrier boards. In the process of experiment, I found that the MP4 screen recorded by gst-launch-1.0 had flicker and blur phenomenon.

GST_DEBUG_DUMP_DOT_DIR=. gst-launch-1.0 nvcompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=960 sink_0::height=540 \
        sink_1::xpos=960 sink_1::ypos=0 sink_1::width=960 sink_1::height=540 \
        sink_2::xpos=0 sink_2::ypos=540 sink_2::width=960 sink_2::height=540 \
        sink_3::xpos=960 sink_3::ypos=540 sink_3::width=960 sink_3::height=540 \
        ! nvvidconv ! 'video/x-raw(memory:NVMM),width=1920,height=1080,format=NV12,framerate=10/1' ! nvv4l2h264enc  ! h264parse ! flvmux ! rtmpsink blocksize=24834048  location='rtmp://127.0.0.1/live/mux4' \
        nvarguscamerasrc sensor-id=0 wbmode=0  saturation=0 blocksize=124170240 ! 'video/x-raw(memory:NVMM), width=(int)4128, height=(int)3008,format=(string)NV12, framerate=(fraction)10/1' ! tee name=cam0 ! \
       queue !  nvvidconv  ! "video/x-raw(memory:NVMM), width=2064, height=1504, format=(string)NV12" !  nvvidconv  ! "video/x-raw" !  multifilesink max-file-size=1862553600  next-file=4 location=cam0_%04d.nv12 -e cam0. ! queue ! comp.sink_0 cam0. ! queue !   nvvidconv ! 'video/x-raw(memory:NVMM),width=3840,height=2160,format=NV12,framerate=10/1' ! nvv4l2h265enc bitrate=10000000 maxperf-enable=true ! h265parse ! mp4mux ! filesink location=cam-0.mp4 \
        nvarguscamerasrc sensor-id=1 wbmode=0  saturation=0 blocksize=124170240 ! 'video/x-raw(memory:NVMM), width=(int)4128, height=(int)3008,format=(string)NV12, framerate=(fraction)10/1' ! tee name=cam1 ! \
        queue !  nvvidconv  ! "video/x-raw(memory:NVMM), width=2064, height=1504, format=(string)NV12" !  nvvidconv  ! "video/x-raw" !  multifilesink max-file-size=1862553600  next-file=4 location=cam1_%04d.nv12 -e cam1. ! queue ! comp.sink_1  cam1. ! queue !   nvvidconv ! 'video/x-raw(memory:NVMM),width=3840,height=2160,format=NV12,framerate=10/1'  ! nvv4l2h265enc bitrate=10000000 maxperf-enable=true ! h265parse ! mp4mux ! filesink location=cam-1.mp4 \
        nvarguscamerasrc sensor-id=2 wbmode=0  saturation=0 blocksize=124170240 ! 'video/x-raw(memory:NVMM), width=(int)4128, height=(int)3008,format=(string)NV12, framerate=(fraction)10/1' ! tee name=cam2 ! \
       queue !  nvvidconv  ! "video/x-raw(memory:NVMM), width=2064, height=1504, format=(string)NV12" !  nvvidconv  ! "video/x-raw" !  multifilesink max-file-size=1862553600  next-file=4 location=cam2_%04d.nv12 -e cam2. ! queue ! comp.sink_2  cam2. ! queue !   nvvidconv ! 'video/x-raw(memory:NVMM),width=3840,height=2160,format=NV12,framerate=10/1' ! nvv4l2h265enc bitrate=10000000 maxperf-enable=true ! h265parse ! mp4mux ! filesink location=cam-2.mp4 \
        nvarguscamerasrc sensor-id=3 wbmode=0  saturation=0 blocksize=124170240 ! 'video/x-raw(memory:NVMM), width=(int)4128, height=(int)3008,format=(string)NV12, framerate=(fraction)10/1' ! tee name=cam3 ! \
       queue !  nvvidconv  ! "video/x-raw(memory:NVMM), width=2064, height=1504, format=(string)NV12" !  nvvidconv  ! "video/x-raw" !  multifilesink max-file-size=1862553600  next-file=4 location=cam3_%04d.nv12 -e cam3. ! queue ! comp.sink_3  cam3. ! queue !   nvvidconv ! 'video/x-raw(memory:NVMM),width=3840,height=2160,format=NV12,framerate=10/1'  ! nvv4l2h265enc bitrate=10000000 maxperf-enable=true ! h265parse ! mp4mux ! filesink location=cam-3.mp4

I use the following command without the screen flashing.

gst-launch-1.0 nvarguscamerasrc sensor-id=0 wbmode=0  saturation=0  ! "video/x-raw(memory:NVMM), width=(int)4128, height=(int)3008,format=(string)NV12, framerate=(fraction)29/1" ! nv3dsink

Hi,
In the command it runs RTMP:

... ! nvcompositor ! nvvidconv ! nvv4l2h264enc ! h264parse ! flvmux ! rtmpsink

We suggest try nv3dsink and see if the issue is present:

... ! nvcompositor ! nvvidconv ! nv3dsink sync=1
... ! nvcompositor ! nvvidconv ! nv3dsink sync=0

Please try sync=0 and sync=1

Trying your command is not flashing. So is the problem with coding or RTMP? Can you help me further investigate the problem?

Hi,
The issue may be in RTMP. We would suggest try UDP or RTSP. Please refer to the setup in Jetson AGX Orin FAQ

Q: Is there any example of running RTSP streaming?
Q: Is there an example for running UDP streaming?

And give it a try.

If the problem is rtmp, the initial command should not affect my MP4 file.

Hi,
Please remove the four saving NV12 to file:

... ! queue !  nvvidconv  ! "video/x-raw(memory:NVMM), width=2064, height=1504, format=(string)NV12" !  nvvidconv  ! "video/x-raw" !  multifilesink max-file-size=1862553600  next-file=4 location=cam0_%04d.nv12

And give it a try. This can be too slow and blocks whole gstreamer pipeline, triggering some issue.

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