NVIDIA Data Types

What is the difference between Frame Meta, Object Meta and User Meta?
Please explain in Layman terms. I know they are nested and looked up at the docs but was still unable to decipher it.

You can refer the relation on this link: MetaData in the DeepStream SDK — DeepStream 6.1 Release documentation, and the structure definition in sources/include/gstnvdsmeta.h.
NvDsBatchMeta corresponds to meta in batch of frames, and NvDsFrameMeta is for the metadata in each frame, it can hold several Object Meta(NvDsObjectMeta) and User Meta (NvDsUserMeta).
You can also refer the sample code on how to extract the meta data, for example, function osd_sink_pad_buffer_probe in deepstream_test1 (C/C++ Sample Apps Source Details — DeepStream 6.1 Release documentation, and source directory /opt/nvidia/deepstream/deepstream-6.1/sources/apps/sample_apps/deepstream-test1)