Connect live streams.

Get real time perception.

Connect live streams.

Get real time perception.

Ingest RTSP streams from anywhere. Index audio and video in real time, trigger alerts, and compose playable streams on demand.

Ingest RTSP streams from anywhere. Index audio and video in real time, trigger alerts, and compose playable streams on demand.

Drone Feed

Social feed

Traffic camera

PTZ camera

Live news

Security camera

Live transcript

HLS streams

Persistent memory

Scene index

Events & alerts

LIVE

Low latency indexing and alerting for real world streams.

Drone Feed

Social feed

Traffic camera

PTZ camera

Live news

Security camera

Live transcript

HLS streams

Persistent memory

Scene index

Events & alerts

LIVE

Low latency indexing and alerting for real world streams.

Connect RTSP streams from anywhere

Connect RTSP streams from anywhere

Connect RTSP streams from anywhere

Bring your own RTSP URLs and start ingest on the server side. Use Collections to manage sessions, environments, and fleets.

Bring your own RTSP URLs and start ingest on the server side. Use Collections to manage sessions, environments, and fleets.

Connect streams with a single call

Connect streams with a single call

Collections organize streams and sessions

Collections organize streams and sessions

Works for drones, PTZ, CCTV, and field deployments

Works for drones, PTZ, CCTV, and field deployments

Create a collection and connect an RTStream

Create a collection and connect an RTStream

Once connected, you can start, stop, index, search, and generate stream windows.

Once connected, you can start, stop, index, search, and generate stream windows.

Python

# assume you already have VideoDB api key

coll = conn.get_collection()

rtstream = coll.connect_rtstream(
    name="Mumbai CCTV",
    url="rtsp://user:pass@1.1.1.1:554/mystream"
)

Secure by design for live ingest

Secure by design for live ingest

Secure by design for live ingest

Control how data enters your system, how long it lives, and what gets stored.
Control how data enters your system, how long it lives, and what gets stored.

Secure transmission

Generate tokens and ingest streams with controlled access. Keep credentials off clients and inside your boundary.

Ephemeral by default

Live sessions do not need to be stored. Persist only when you choose, or on session completion.

Adjustable frame rate

Choose sampling rates for processing and storage to control cost without losing recall.

Lifecycle controls

Connect, pause, resume, and delete streams cleanly through the SDK.

Scale to thousands of cameras immediately

Scale to thousands of cameras immediately

Scale to thousands of cameras immediately

Designed for fleet scale ingestion where streams appear, disappear, reconnect, and move across networks.

Designed for fleet scale ingestion where streams appear, disappear, reconnect, and move across networks.

Handle 1000s of concurrent RTSP streams

Handle 1000s of concurrent RTSP streams

Reconnect safely without losing session identity

Reconnect safely without losing session identity

Use server side start and stop controls

Use server side start and stop controls

Partition by collection for team and environment boundaries

Partition by collection for team and environment boundaries

Fleet Status

Healthy

Reconnecting

Paused

RTStream Indexes

Index A: Monitoring

Low fps sampling, lightweight prompts, alerts on anomalies

Index B: Visual scenes

Scene segmentation and visual descriptions

Index C: Speech

Transcript plus audio indexing

Multiple indexes let you separate monitoring from recall.

Multiple indexes let you separate monitoring from recall.

Real time understanding, cost controlled

Real time understanding, cost controlled

Real time understanding, cost controlled

Run the level of understanding you need, when you need it. Index audio and visuals in parallel, and tune sampling for latency and spend.

Run the level of understanding you need, when you need it. Index audio and visuals in parallel, and tune sampling for latency and spend.

Choice of frame rate for processing

Choice of frame rate for processing

Build multiple visual indexes on the same stream

Build multiple visual indexes on the same stream

Build spoken word indexes with prompts

Build spoken word indexes with prompts

Get real time insights and triggers

Get real time insights and triggers

Retrieve any moment as a playable window

Retrieve any moment as a playable window

Retrieve any moment as a playable window

Live streams become queryable. Generate HLS or MP4 windows for any time range, even after the stream ends.

Live streams become queryable. Generate HLS or MP4 windows for any time range, even after the stream ends.

Retrieve an existing RTStream

Retrieve an existing RTStream

Python

# Fetch an existing real-time stream by ID

rtstream = coll.get_rtstream(rtstream_id)

Every retrieval returns a playable stream window, not just metadata.

Every retrieval returns a playable stream window, not just metadata.

Core RTStream methods

Core RTStream methods

Method

Method / purpose

Purpose

start()

start()

Begin ingest on the server side

Begin ingest on the server side

stop()

stop()

Stop ingest, keep session data

Stop ingest, keep session data

generate_stream(start,

end)

generate_stream(start,

end)

Get an HLS or MP4 URL for an arbitrary clip window

Get an HLS or MP4 URL for an arbitrary clip window

index_scenes(...)

index_scenes(...)

Launch on-the-fly visual indexing

Launch on-the-fly visual indexing

list_scene_indexes()

list_scene_indexes()

List all scene indices for this stream

List all scene indices for this stream

get_scene_index(id)

get_scene_index(id)

Inspect a specific scene index

Inspect a specific scene index

get_transcript(...)

get_transcript(...)

Fetch real-time or historical transcription

Fetch real-time or historical transcription

Events and alerts on live streams

Events and alerts on live streams

Events and alerts on live streams

efine events in plain English, then get instant webhook alerts when they happen.

efine events in plain English, then get instant webhook alerts when they happen.

create_alert(...)

create_alert(...)

set up event-based alerts

search(query, ...)

search(query, ...)

semantic search across indexed content

get_transcript(...)

get_transcript(...)

poll or fetch transcript data

get_scenes(...)

get_scenes(...)

poll indexed scenes

Alert Flow

Alert Flow

Index Results

Index Results

Alert Rules

Alert Rules

Webhooks

Webhooks

Automation

Automation

WebSocket streaming for real time events

WebSocket streaming for real time events

WebSocket streaming for real time events

Stream live transcripts, live indexing results, and session status updates over WebSocket. This is the clean interface for agent loops.

Stream live transcripts, live indexing results, and session status updates over WebSocket. This is the clean interface for agent loops.

Connect and stream events

Python

import asyncio
import videodb
async def stream_events(capture_session_id: str):
    conn = videodb.connect()
    ws = conn.connect_websocket()
    await ws.connect()

    # Pass ws.connection_id to RTStream methods
    # to receive events on this socket
    async for msg in ws.receive():
    handle_event(msg)

AI Context Stream

LIVE

{
  "type": "transcript",
  "text": "This quarter we spent more on marketing and cloud services compared to last quarter",
  "is_final": true,
  "start": 1710000001234,
  "end"

{
  "type": "index",
  "index_type": "visual",
  "text": "User is viewing a screen share showing a dashboard with quarterly expenses breakdown",
  "start": 1710000012340,
  "end"

Persist sessions to unlock downstream value

Persist sessions to unlock downstream value

Persist sessions to unlock downstream value

Live streams can stay ephemeral. When you choose to store, you can convert a completed session into a native VideoDB video object and unlock indexing, search, editing, and dataset workflows.

Live streams can stay ephemeral. When you choose to store, you can convert a completed session into a native VideoDB video object and unlock indexing, search, editing, and dataset workflows.

Ephemeral by default for privacy and cost

Ephemeral by default for privacy and cost

Ephemeral by default for privacy and cost

Optional persistent mode for investigations and memory

Optional persistent mode for investigations and memory

Optional persistent mode for investigations and memory

Store at end of session and convert into a video asset

Store at end of session and convert into a video asset

Store at end of session and convert into a video asset

Use the same pipeline as file ingest after conversion

Use the same pipeline as file ingest after conversion

Use the same pipeline as file ingest after conversion

Storage Mode

Ephemeral

Temporary storage

Persistent

Permanent storage

RT Stream

Video Object

Storage Mode

Ephemeral

Temporary storage

Persistent

Permanent storage

RT Stream

Video Object

Storage Mode

Ephemeral

Temporary storage

Persistent

Permanent storage

RT Stream

Video Object

Compile and compose outputs from live streams

Compile and compose outputs from live streams

Compile and compose outputs from live streams

Create operational views and derived outputs. Combine multiple cameras into one scene, overlay context, and generate clips for review.
Create operational views and derived outputs. Combine multiple cameras into one scene, overlay context, and generate clips for review.

Camera 1

Camera 1

Camera 2

Camera 2

Camera 3

Camera 3

Camera 4

Live Dashboard

REC

CAM-01

Entrance North

14:32:15

REC

CAM-02

Warehouse Door

14:32:15

ALERT

REC

CAM-03

Parking Lot A

14:32:15

REC

CAM-04

Loading Dock

14:32:15

Need to run in a private VPC?

Need to run in a private VPC?

We support enterprise deployments where streams, processing, and storage stay inside your network boundary.

We support enterprise deployments where streams, processing, and storage stay inside your network boundary.

FAQs

What exactly is an RTStream in VideoDB?

An RTStream is a server managed live stream object that represents one continuous source over time. It is the handle you use to start and stop ingest, attach indexes, read transcripts, generate playable clip windows, and manage session lifecycle. It is not just a URL, it is a managed session with identity and history.

What live sources do you support besides RTSP?

How do Collections map to fleets, sites, and environments?

How do I authenticate securely without putting RTSP credentials on clients?

What exactly is an RTStream in VideoDB?

An RTStream is a server managed live stream object that represents one continuous source over time. It is the handle you use to start and stop ingest, attach indexes, read transcripts, generate playable clip windows, and manage session lifecycle. It is not just a URL, it is a managed session with identity and history.

What live sources do you support besides RTSP?

How do Collections map to fleets, sites, and environments?

How do I authenticate securely without putting RTSP credentials on clients?

What exactly is an RTStream in VideoDB?

What live sources do you support besides RTSP?

How do Collections map to fleets, sites, and environments?

How do I authenticate securely without putting RTSP credentials on clients?

What exactly is an RTStream in VideoDB?

An RTStream is a server managed live stream object that represents one continuous source over time. It is the handle you use to start and stop ingest, attach indexes, read transcripts, generate playable clip windows, and manage session lifecycle. It is not just a URL, it is a managed session with identity and history.

What live sources do you support besides RTSP?

How do Collections map to fleets, sites, and environments?

How do I authenticate securely without putting RTSP credentials on clients?

The Perception Layer for AI

Apt 2111 Lansing Street San Francisco, CA 94105 USA

HD-239, WeWork Prestige Atlanta, 80 Feet Main Road, Koramangala I Block, Bengaluru, Karnataka, 560034

sales@videodb.com

The Perception Layer for AI

Apt 2111 Lansing Street San Francisco, CA 94105 USA

HD-239, WeWork Prestige Atlanta, 80 Feet Main Road, Koramangala I Block, Bengaluru, Karnataka, 560034

sales@videodb.com

The Perception Layer for AI

Apt 2111 Lansing Street San Francisco, CA 94105 USA

HD-239, WeWork Prestige Atlanta, 80 Feet Main Road, Koramangala I Block, Bengaluru, Karnataka, 560034

sales@videodb.com