Snapshot Stream
The Snapshot Stream action captures a single high-quality image from a video stream and uploads it to cloud storage. This is typically used for updating camera thumbnails, periodic monitoring, or capturing specific moments.
Overview
Unlike continuous detection actions, Snapshot Stream performs a simple, focused task:
- Connect to a camera
- Capture one frame
- Upload it to storage
- Update the database record
This makes it ideal for:
- Refreshing camera preview images in the dashboard
- Scheduled site condition monitoring
- Capturing images at specific trigger points in workflows
What It Does
1. Instant Capture
The action connects to the specified video stream and immediately captures a single frame. There's no waiting or searching—it grabs the current view.
2. Cloud Upload
The captured image is uploaded to the system's central storage (typically Supabase Storage or S3-compatible storage). This ensures the image is:
- Accessible from anywhere
- Backed up and persistent
- Available for viewing in the RIME dashboard
3. Database Update
After successful upload, the action updates the stream's database record with the new snapshot URL. This is what allows the RIME Studio dashboard to display current camera thumbnails.
Configuration
| Parameter | Type | Required | Description |
|---|---|---|---|
| Stream | Table Selection | Yes | Select the camera stream to capture |
This is one of the simplest actions to configure—just select which camera you want to snapshot.
Understanding Results
| Result | Meaning | What Happens |
|---|---|---|
| snapshot_complete | Success | Image is uploaded and database is updated with new URL |
| stream_error | Camera connection failed | Image was not captured; database unchanged |
| upload_failed | Captured but upload failed | Image exists locally but not in cloud storage |
Common Use Cases
Dashboard Thumbnails
- Schedule: Run every 15-30 minutes for each camera
- Purpose: Keep camera preview images fresh in the RIME Studio dashboard
- Benefit: Operators can quickly see current camera views without opening live feeds
Scheduled Site Monitoring
- Schedule: Capture once per hour during closed hours
- Purpose: Create a visual log of site conditions
- Benefit: Review site status without watching hours of video
Event-Triggered Capture
- Trigger: Run when a sensor activates or an event occurs
- Purpose: Capture the scene at the moment of interest
- Benefit: Provides visual context for sensor-based alerts
Before/After Documentation
- Trigger: Run before and after specific operations
- Purpose: Document conditions (e.g., before opening, after cleaning)
- Benefit: Creates accountability records
Troubleshooting
Stream Error
This means the action could not connect to the camera stream.
-
Check Camera Power: Verify the camera is powered on and operational.
-
Verify Network: Ensure network connectivity between ResEngine and the camera/NVR.
-
Test RTSP URL: Manually verify the stream URL is correct and accessible.
- Check for typos in the URL
- Verify port numbers (typically 554 for RTSP)
- Confirm protocol (rtsp://)
-
Authentication: If the stream requires credentials:
- Verify username and password are correct
- Check if credentials have expired or been changed
- Ensure the user account has streaming permissions
-
Connection Limits: Some NVRs limit concurrent connections. If multiple actions are accessing the same stream, you may hit this limit.
-
Firewall Rules: Ensure firewalls allow RTSP traffic (typically port 554) between ResEngine and cameras.
Upload Failed
This means the image was captured but couldn't be uploaded to cloud storage.
-
Internet Connectivity: Check that the ResEngine server has internet access.
-
Storage Credentials: Verify cloud storage API keys/credentials are valid and not expired.
-
Storage Quota: Check if your cloud storage quota has been exceeded.
-
File Size: Very high resolution images may exceed upload limits. Consider capturing at lower resolution.
-
Firewall/Proxy: Ensure outbound HTTPS traffic is allowed to the storage service.
Thumbnail Not Updating in Dashboard
-
Check Result: Verify the action completed with "snapshot_complete" status.
-
Clear Cache: Browser cache may show old thumbnails. Hard refresh the page or clear browser cache.
-
Database Sync: Allow a few moments for the database update to propagate to the dashboard.
-
Correct Stream: Verify you're checking the thumbnail for the stream that was actually snapshotted.
Poor Image Quality
-
Camera Settings: Check camera resolution, focus, and exposure settings.
-
Lighting: Capture timing may coincide with poor lighting conditions. Adjust schedule if needed.
-
Compression: Check camera/NVR compression settings. High compression reduces quality.
-
Network Bandwidth: Insufficient bandwidth may cause the stream to reduce quality.
Best Practices
-
Stagger Schedules: When snapshotting many cameras, stagger the timing to avoid overwhelming network resources.
-
Off-Peak Timing: Schedule non-critical snapshots during low-activity periods to minimize network impact.
-
Monitor Success Rate: Track snapshot success rates. Consistent failures indicate underlying camera or network issues.
-
Appropriate Frequency: More frequent snapshots mean fresher thumbnails but more network/storage usage. Find the right balance for your needs.
-
Verify After Camera Maintenance: After camera cleaning, repositioning, or replacement, run a snapshot to update the thumbnail.
Related Actions
-
Streams Generator (Batch Snapshot): Captures snapshots from ALL cameras in a branch at once—more efficient for bulk updates.
-
Stream Snapshot to RDB: Similar batch capability with smart NVR handling.