Adding data to a frame as input to the pipeline for synchronization

**• NX **
• 5.1
• 4.5.1
Our source is a RealSense D435i camera. We are trying to keep synchronization between depth and rgb images. Deepstream pipeline only handles the rgb image, so we use appsrc element which gets the frame as input.
We are looking for a way to add data (such as ros2 time stamp) to a frame when it enter the pipeline. We tried to use Gst.Buffer.new_wrapped_full(Gst.MemoryFlags.READONLY, frame, len(frame), 0, custom_data) but found no way to read this data inside the pipeline or extract it.


Can you set the time stamp to GstBuffer PTS?

Thanks for your advice. It helped us.
We were able to set buffer.pts, but when we read this value at the end of the pipeline (probe or sink) it has a different value (probably an internal time stamp).
Therefore, we would appreciate your help with setting this value and keeping it so synchronization will work for us at the end of the pipeline. Remind you that we are looking for a way to synchronize depth image (not inside the pipeline) and the output of our deepstream pipeline.

Thanks again,

The PTS will recorded in frame meta. The PTS will apply to gstbuffer after nvstreamdemux. Can you check it?

Hi, we do not use nvstreamdemux in our pipeline … only nvstreammux. We have one source for the pipeline, the other frames we are looking to synchronize with, are not in the pipeline.

Hello again,
The system we work on is as follow:
RealSense Camera ---- ros2 topic RGB image (timestamp by ros2 node) ----> Deepstream pipeline ----> results per frame (timestamp by DS) ---->
RealSense Camera ----> ros2 topic Depth image (timestamp by ros2 node) ---->

====> depth + DS results (timestamp ?)
We want to synchronize the timestamp from the ros2 node and the timestamp from the pipeline results.

Thanks, Daphna

Can you get the right PTS in frame_meta->buf_pts in NvDsFrameMeta?

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