Gstreamer stops video after streaming

Hello,

Gstreamer stops randomly after 30-40 Sec of streaming.

sensor_id=0 # 0 for CAM0 and 1 for CAM1 ports
Framerate=60
gst-launch-1.0 nvarguscamerasrc sensor_id=$sensor_id gainrange=“1 1” ! “video/x-raw(memory:NVMM),width=3840,height=2160,framerate=$Framerate/1,format=NV12” ! queue ! nvvidconv flip-method=0 ! “video/x-raw,width=1928,height=1090” ! nvvidconv ! nvegltransform ! nveglglessink -e

I have attached trace and terminal data

stream_1_20.txt (221.8 KB)

Gstreamer.txt (2.8 KB)

hello ravikiran,

it looks like display performance related.
let me re-cap the logs as below..
../libs/gst/base/gstbasesink.c(3143): gst_base_sink_is_too_late (): /GstPipeline:pipeline0/GstEglGlesSink:eglglessink0:
There may be a timestamping problem, or this computer is too slow.

here’re couple of test approaches for issue narrow down,
(1) you may try Applications Using V4L2 IOCTL Directly for testing your basic camera functionality.
(2) please try enable preview with nv3dsink video sink (video playback using 3D graphics API) for testing, this video sink element works with NVMM buffers and renders using the 3D graphics rendering API. It performs better than nveglglessink with NVMM buffers
see-also developer guide, Capturing with GStreamer-1.0
(3) let’s also test with nvarguscamerasrc with preview disabled, and shows frame-rate only.
for instance, $ gst-launch-1.0 nvarguscamerasrc sensor-id=0 sensor-mode=0 ! 'video/x-raw(memory:NVMM),width=1920, height=1080, framerate=30/1, format=NV12' ! nvvidconv ! fpsdisplaysink text-overlay=0 name=sink_0 video-sink=fakesink sync=0 -v

Hello,

I was suspecting the master clock.

The Camera setup is IMX678 + GMSL3 (max96793 +max96792A) + Orin Nx. Master clock is derived from Serializer PLL.

While setting 32.125Mhz the video stops with in 10 Sec, if setting 24MHz video stops within 1min, if setting 25MHz de-serializer clock video stops within 5mins. Is there any possibility to overcome this issue?

Also, I ave observed noise in low light condition (Attached screen shot & V4l2ctl defaults). Could you please provide the solution to overcome the issue.

v4l2_all.txt (5.3 KB)

hello ravikiran,

please refer to Sensor Pixel Clock section to evaluate the sensor pixel clock rate, which must be set correctly to avoid potential issues.
FYI, I usually using sensor CSI lane output rate,
for instance, pixel_clk_hz = sensor data rate per lane (Mbps) * number of lanes / bits per pixel

I am using Serializer & Deserializer, Should i use below formula?

  • serdes_pix_clk_hz = (deserializer output data rate in hertz) * (number of CSI lanes) / (bits per pixel)

if yes, Skew calibration is required if sensor or deserializer is using DPHY, and the output data rate is > 1.5Gbps.

Could you please help detailed procedure to perform the skew calibration?

Thanks,

hello ravikiran,

it’s performed by the sensor, deskew calibration is a must if data-rate > 1.5 Gbps, else the camera firmware will continue to wait for deskew signal from the sensor side.
camera stack will enable pixel parser only when deskew calibration has completed.

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