Pass metadata through nvvideosink

I have been working to create a GStreamer pipeline that simultaneously logs video and interfaces with VisionWorks. I have a modified version of the nvgstcamera_capture sample working, but I am also looking into associating the saved video file with frames used by VisionWorks.

Since the main application VisionWorks loop may take too long to fetch every single frame in real-time, I was wondering if there is any way to assign a frame number.

I was thinking about directly modifying the corner of the NV12 data buffer with a frame number, but it appears nvvideosink converts the frame to RGBA. Is this just a standard NV12 to RGBA conversion, or is there more to it? Since the nvvideosink element is proprietary, I wanted to check if this is even possible before attempting.

If there is any other potential methods to associate frames, I would greatly appreciate any feedback. Thanks.

Hi,
We don’t support the function in nvvideosink. Beside using VisionWorks, you may also try tegra_multimedia_api or DeepStream SDK 4.0.

In a previous post, someone mentioned that Argus cannot be used with VisionWorks: https://devtalk.nvidia.com/default/topic/1057228/efficient-gstreamer-and-visionworks-pipeline/?offset=1#5360575.

Does this just mean that there are no examples between Argus and VisionWorks, or is there some underlying issue why they cannot be used together?

Specifically, I am interested in synchronized multi-camera capture into VisionWorks, but I need the metadata as well. Since I saw that nvarguscamerasrc does not have an enable metadata option, I am considering switching to Argus.