Skip to main content

"video" Source

Ingests video data from a network-accessible streaming device (e.g. an IP camera), decodes the frames, and creates a new metadata object for each one.

This is the most commonly used source in production environments. It allows you to bring in real-time real-world video data into Nimble for analysis.

If the source fails to connect or is disconnected from the streaming device, the source will try to reconnect indefinitely.

Along with the required source parameter type, the video source accepts the following additional properties:

  • address: The URL to a camera or other video streaming device. There are two forms:
    • Short-form: A simple URL string. May include username and password if they don't contain special characters.
    • Long-form: An object containing a URL with extra authentication properties.
      • url: A URL string without username and password.
      • user: A username for HTTP/RTSP authentication.
      • pass: A password for HTTP/RTSP authentication.
  • rate: The playback rate of the video stream. The ingestion rate is always real-time, but if the playback rate is slower than the ingestion rate then frames will be dropped. Optional, if omitted playback will occur at the video-defined speed.
  • decoder: The name of the desired video decoder library.

Examples

REST API

Create RTSP Camera Source at 15 fps:

{
"type": "video",
"address": "rtsp://camera:554/path",
"rate": 15
}

Create RTSP Camera Source with Authentication:

{
"type": "video",
"address": {
"url": "rtsp://camera:554/path",
"user": "viewer",
"pass": "..."
}
}

Configuration File

RSTP video at 15 fps:

sources:
- type: video
address: rtsp://camera:554/path
rate: 15

HTTP video:

sources:
- type: video
address: http://nvr:80/ISAPI/Streaming/channels/101/picture