Metropolis microservices VST
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 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
- Then, we need to install the element, you can obtain a license or a evaluation package contacting support.
- 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 - 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:
- We click Submit and then we can see our stream by going to the Live Streams tab and selecting our source:
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