Metropolis microservices VST

From RidgeRun Developer Wiki






Video Storge Toolkit or VST, is an NVIDIA offering that comes as part of the Metropolis Microservices framework. This service can be used to setup RTSP or IP cameras, handle their video streams and record then using a set of rules if needed. It includes a Web interface to interfact on a easier manner with it, and setup control and view video sources, and access archival streams. The UI can be accessed via the url: http://<IP_address>:30080/vst The landing page will look like the following:

VST main page

VST is able to auto-detect and use ONVIF-S compliant cameras. You can also manually add cameras and any other stream that uses rtsp. NVIDIA provides the following QVL for IP cameras:

Manufacturer Model
ANNKE C500
ANNKE NC400
AMCREST IP8M-2493EW
AMCREST IP8M-T2499E
AMCREST IP8M-2493EW
AMCREST IP8M-2496E
AMCREST IP2M-841W-V3
AMCREST IP4M-1026E
AMCREST IP5M-T1179E
AXIS P3301
BOSCH Flexidome_IP_4000I
CP PLUS CP-UNC-TB41L3-MDS-0360
JIDETECH IPC-3C1-5MP
HANWHA QND-6012R
HANWHA QND-6012R
QSEE QTN8083B
QSEE QTN8083B-N
SONY SNV-VB640
SONY SNC-VB770
SONY SNC-XM632
SONY SNC-EM630
HIKVISION DS-2CD2043G0-I
HIKVISION DS-2CD2T43G0-I5
HIKVISION DS-2CD2045FWD-I
HIKVISION DS-2CD3121G0-I
HIKVISION DS-2CD3023G0E-I

Features

  • Support and auto-detect for ONVIF-S compliant devices.
  • Manage and add video sources using RTSP URLs.
  • Accelerated WebRTC protocol.
  • Support for H264 and H265 encoding.
  • Live monitoring and video wall support.
  • Event based recording and triggers.
  • Video storage with aging policy.
  • REST API to enable control from client applications

RTSP stream example

On this section we are going to add a new RTSP stream to VST using GStreamer and RidgeRun's RtspSink element, running on the Jetson Orin AGX.

To do so, we need to start VST and ingress services:

sudo systemctl enable jetson-ingress --now
sudo systemctl enable jetson-vst --now



  1. Then, we need to install the element, you can obtain a license or a evaluation package contacting support.
  2. The sample source is going to use the provided videotestsrc element by GStreamer and it's going to be encoded using the platforms accelerated h264 encoder.
    gst-launch-1.0 videotestsrc is-live=true ! "video/x-raw,height=720,width=1280,framerate=30/1" ! nvvidconv ! nvv4l2h264enc insert-sps-pps=true idrinterval=30 ! "video/x-h264,mapping=/stream1" ! rtspsink service=6000

    The url will look like rtsp://JETSON_IP/stream1
  3. Then to add it we navigate to the Camera management section of the web UI, and scroll down to Add device manually, and we add the stream information like so:
    VST Camera Management tab
  4. We click Submit and then we can see our stream by going to the Live Streams tab and selecting our source:
    VST live preview tab

API Usage

NVIDIA provides an interface to configure and use VST via any client application, besides the reference Web UI. This interface comes in the form of a REST API, and it's details are documented here