Gstreamer clockoverlay not working


I am using two CSI cameras to record videos on the Jetson Nano B01. The gstreamer pipeline I am using is:

gst-launch-1.0 -e multiqueue max-size-buffers=1 name=mqueue nvarguscamerasrc sensor-id=0 sensor-mode=1 ! “video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)60/1” ! mqueue.sink_1 nvarguscamerasrc sensor-id=1 sensor-mode=1 ! “video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)60/1” ! mqueue.sink_2 mqueue.src_1 ! nvv4l2h264enc ! h264parse ! mp4mux ! filesink location=testLeft.mp4 mqueue.src_2 ! nvv4l2h264enc ! h264parse ! mp4mux ! filesink location=testRight.mp4

This works exactly as expected. However, when i try to include clockoverlay in the pipeline, I keep getting an error saying things like “could not link clockoverlay to nvv4l2h264enc” or “erroneous pipeline: could not link clockoverlay0 to mqueue, clockoverlay0 can’t handle caps video/x-raw(memory:NVMM), width=(int)1920, height=(int)1080, format=(string)NV12, framerate=(fraction)60/1”

Please advise on how to include clockoverlay in my pipeline

Hi @amaanv_uct

Unfortunately clockoverlay does not support NVMM memory, so you need to add something like this before your nvv4l2h264enc elements:

nvvidconv ! clockoverlay ! nvvidconv

This will convert the NVMM memory to normal Linux memory for the clockoverlay to operate on and then convert it back to NVMM memory for the rest of the pipeline.

Best Regards,
Jimena Salas

Thank you Jimena! That worked perfectly.

Is there a way to get time within millisecond accuracy with clockoverlay? I know that with timeoverly I can get millisecond accuracy but I need the system time not the video time

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