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?
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
AUTOMATION
RESOURCES
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
AUTOMATION
RESOURCES
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









