nvmsgconv_mega2d
Directory actions
More options
Directory actions
More options
nvmsgconv_mega2d
Folders and files
| Name | Name | Last commit date | ||
|---|---|---|---|---|
parent directory.. | ||||
# SPDX-FileCopyrightText: Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. # SPDX-License-Identifier: Apache-2.0 # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. nvmsgconv (Message Convertor) library provides APIs for payload generation nvmsgconv library supports generation of payload in json & protobuf formats Below are the schemas supported for payload generation: PAYLOAD_DEEPSTREAM - Json Full message schema with separate payload per object (Default) PAYLOAD_DEEPSTREAM_MINIMAL - Json Minimal message with multiple objects in single payload. PAYLOAD_DEEPSTREAM_PROTOBUF - Protobuf encoded message with multiple objects in single payload. Payload can be generated using below metadata types: NVDS_EVENT_MSG_META type metadata attached to the buffer as user metadata of frame meta OR NVDS_FRAME_META type and NVDS_OBJECT_META type in Gst buffer and available fields in these metadata types are used to create message payload based on schema type. Refer to the DeepStream SDK documentation for a description of the plugin. -------------------------------------------------------------------------------- Pre-requisites: - glib-2.0 - json-glib-1.0 - uuid - yaml-cpp Install using: sudo apt-get install libglib2.0-dev libjson-glib-dev uuid-dev libyaml-cpp-dev If running deepstream on baremetal and not docker: Install other dependencies (Needs sudo or root privilege): A. For X86 Device - 1. Triton gRPC Client into "/opt/tritonclient": mkdir -p /opt/tritonclient/ wget https://github.com/triton-inference-server/server/releases/download/v2.56.0/v2.56.0_ubuntu2404.clients.tar.gz tar xzf v2.56.0_ubuntu2404.clients.tar.gz -C /opt/tritonclient/ lib include 2. Protobuf compiler v3.6.1.3 into "/opt/proto": mkdir /opt/proto PB_REL="https://github.com/protocolbuffers/protobuf/releases"; curl -LO $PB_REL/download/v21.12/protoc-21.12-linux-x86_64.zip unzip protoc-21.12-linux-x86_64.zip -d /opt/proto chmod -R +rx /opt/proto/ B. For Jetson Device - 1. Please download the correct version of Triton gRPC client from https://github.com/triton-inference-server/server/releases and install into "/opt/tritonclient". Example commands : mkdir -p /opt/tritonclient/ wget https://github.com/triton-inference-server/server/releases/download/v2.56.0/tritonserver2.56.0-igpu.tar tar xzf tritonserver2.56.0-igpu.tar -C /opt/tritonclient/ --strip-components=2 tritonserver/clients/lib/ tritonserver/clients/include 2. Protobuf compiler v3.6.1.3 into "/opt/proto": mkdir /opt/proto PB_REL="https://github.com/protocolbuffers/protobuf/releases"; curl -LO $PB_REL/download/v21.12/protoc-21.12-linux-aarch_64.zip unzip protoc-21.12-linux-aarch_64.zip -d /opt/proto chmod -R +rx /opt/proto/ Update PATH variable with newly installed protoc by running below command, $ export PATH=/opt/proto/bin/:$PATH ------------------------------------------------------------------------------------------------ Compiling and installing the plugin: Run make and sudo make install NOTE: 1) To compile the sources, run make with "sudo" or root permission. 2) For payload generation using protobuf, proto.schema is provided within deepstream_schema directory.