Stream Video Analysis
Stream Video Analysis is a fully managed, GPU-quickened real-time video analytics service on Oracle Cloud Infrastructure (OCI). It process live RTSP streams to deliver real-time insights using AI capabilities.
Key features are:
- Object Detection: Detect objects, for example, people or vehicles, and returns bounding boxes.
- Face Detection: Identifies faces with bounding box outputs.
- Object Tracking: Using Object Tracking, you can track detected objects (currently limited to faces) across video frames. By assigning a unique identifier
(tracking ID) to each face, the system maintains continuity of identity as a person moves through the camera view. In case of Face Tracking, both single
camera tracking and multicamera tracking are supported.
- Single Camera Tracking: Tracks faces within the bounds of a single camera stream. This means you can identify and track individuals as they move through the field of view of a specific camera.
- Multicamera Tracking: Multicamera tracking means you can identify consistently across several camera streams. Cameras can be logically grouped so that a face detected in one stream can be recognized in another stream.
Performance and Scalability
Stream Video Analysis service is designed to provide low-latency, high-performance analytics powered by GPU acceleration. By default, the service supports a single stream job per user. If you need to scale beyond this limit, you can request extra resources through the OCI Support channel.
Camera Connectivity
Stream Video Analysis requires access to the video feed, either using the public internet or over a private, using fast connect.
Option 1: Public Connectivity using Static IP and Port Forwarding
Option 2: Site-to-Site VPN
A more secure and scalable option is Setting Up Site-to-Site VPN between your on-premises router and OCI.
API Reference
Attribute | Value |
---|---|
API Endpoint | /latest/visionPrivateEndpoints |
API Method | POST |
Sample Request Body |
|
Sample Response Body | 202 Accepted
|
Create Stream Source
Creating stream source supports Public and Private access types. The difference between Public and Private endpoint lies in how the Vision Stream Analysis service accesses your video stream.
- Private Endpoint: Streams are accessed securely through a Private Endpoint over OCI's internal network accessible within your OCI Virtual Cloud Network (VCN). This is the recommended method for production setups.
- Public Endpoint: Exposes stream to the internet through a public IP.
Attribute | Value |
---|---|
API Endpoint | /latest/streamSources |
API Method | POST |
Sample Request Body |
|
Sample Response Body | 202 Accepted
|
Attribute | Value |
---|---|
API Endpoint | /latest//streamSources |
API Method | POST |
Sample Request Body |
|
Sample Response Body | 202 Accepted
|
Attribute | Value |
---|---|
API Endpoint | /latest/streamJobs |
API Method | POST |
Sample Request Body |
|
Sample Response Body | 202 Accepted
|
Attribute | Value |
---|---|
API Endpoint | /latest/streamJobs/<<Stream Job Ocid>>/actions/start |
API Method | POST |
Sample Response Body | 202 Accepted |
Attribute | Value |
---|---|
API Endpoint | /latest/streamJobs/<Stream_Job_OCID>/actions/stop |
API Method | POST |
Sample Response Body | 202 Accepted |
Attribute | Value |
---|---|
API Endpoint | /latest/streamJobs/<Stream_Job_OCID> |
API Method | GET |
Sample Response Body | 202 OK |
Attribute | Value |
---|---|
API Endpoint | /latest/streamSources/<Stream_Job_OCID> |
API Method | GET |
Sample Response Body | 202 OK |
Attribute | Value |
---|---|
API Endpoint | /latest/visionPrivateEndpoint/<Stream_Job_OCID> |
API Method | GET |
Sample Response Body | 202 OK |
Attribute | Value |
---|---|
API Endpoint | /latest/streamJobs/<Stream_Job_OCID> |
API Method | DELETE |
Sample Response Body | 202 OK |
Attribute | Value |
---|---|
API Endpoint | /latest/streamSources/<Stream_Job_OCID> |
API Method | DELETE |
Sample Response Body | 202 Accepted |
Attribute | Value |
---|---|
API Endpoint | /latest/visionPrivateEndpoint/<Stream_Job_OCID> |
API Method | DELETE |
Sample Response Body | 202 Accepted |
Complete end-to-end working examples are available in LiveLab.
This is ONLY available for stream jobs using Object Tracking (limited to faces). This is an optional feature.
Attribute | Value |
---|---|
API Endpoint | /latest/streamGroups |
API Method | POST |
Sample Request Body |
|
Sample Response Body | 200 OK
|
For full CRUD Multicamera Tracking APIs, see the StreamGroup API specification.
Results and Output
Feature | Output |
---|---|
Label detection |
Label, confidence, timestamp |
Object detection |
Label and bounding box, confidence |
Text detection |
Transcription and bounding box |
Face detection |
Bounding box, face metadata |
Object tracking |
ObjectID and tracked bounding boxes over time |
Recommendations for Best Performance
- Camera produces a consistent frame rate of 30 FPS.
- Camera resolution no greater than 720p
- Provide consistent, well-lit environments
- Maintain a subject proximity of 15–20 meters