Driver Details

New Community

Camera Snapshot Provider

By: Buttonwood Technologies, LLC
Updated: Sept. 30, 2026
Version: 1.2
Download Driver
Rating: 0.0 (0 ratings)
Log in to rate this driver

Camera Snapshot Provider retrieves JPEG images from as many as thirty-two independently configured HTTP cameras, NVRs, or image servers and retains only the latest bounded snapshot for each source in volatile RTI processor memory. Dealers can enter each source's host, port, JPEG path, and None, HTTP Basic, or HTTP Digest authentication details manually, run optional Integration Designer ONVIF multicast discovery, target a specific ONVIF device by IP address, or remove all configured camera slots through a confirmation-protected design-time action; global server and viewer-variable settings are preserved during removal. The driver does not depend on a manufacturer profile catalog, ONVIF discovery cannot guarantee detection of every camera, and discovery never runs on the RTI processor. The driver publishes image-typed local feedback for RTI image objects, raw local and external JPEG URLs, optional responsive external viewer URLs for browsers and SMS links, and processor-local capture date/time components. Each camera viewer can independently show or omit its camera name, capture time, and one optional formatted value selected from as many as ten subscribed Boolean, integer, or string variables supplied by other RTI drivers. Disabled, unselected, invalid, or unavailable optional data is omitted without an N/A placeholder. The driver also provides practical state and timing feedback, errors, commands, events, serialized request handling, token rotation, expiration, and sanitized diagnostics. The processor serves HTTP only; HTTPS termination, firewall forwarding, DDNS, external-network security, processor memory capacity at the selected image sizes, and the suitability of any camera endpoint remain dealer responsibilities, and snapshots are not recordings or authoritative security evidence.

Developed & Supported By
Buttonwood Technologies, LLC
rti@buttonwoodtechnologies.com
https://www.buttonwoodtechnologies.com

Product Specific Warning
Snapshots are point-in-time images that can be delayed, stale, incomplete, unavailable, expired, or different from live camera video. This driver is not a recording system, alarm panel, access-control system, or life-safety device and must not be used as the sole means of detecting, documenting, reporting, or responding to a security or emergency event. Externally publishing a processor-hosted image can expose private surveillance content. The dealer must use an appropriate firewall and HTTPS reverse proxy, keep the processor snapshot port private whenever practical, protect the processor and camera network, verify expiration behavior, and obtain any required customer authorization before enabling external access.

Third-Party Driver Notice and Disclaimer
This driver is independently developed by Buttonwood Technologies, LLC and is not developed, endorsed, supported, or certified by the manufacturers or service providers with which it interoperates, unless expressly stated otherwise. The driver is provided “AS IS” and “WITH ALL FAULTS,” without warranties of any kind, express or implied, including warranties of merchantability, fitness for a particular purpose, and noninfringement. To the maximum extent permitted by applicable law, Buttonwood Technologies, LLC shall not be liable for indirect, incidental, special, consequential, exemplary, or punitive damages, loss of data, loss of use, service interruption, or lost profits arising from installation or use of the driver. Nothing in this notice excludes or limits liability that cannot lawfully be excluded or limited.

Camera Snapshot Provider

Version 1.2

Camera Snapshot Provider retrieves JPEG snapshots from compatible HTTP cameras, caches the latest image for each configured source in volatile RTI processor memory, and publishes local and optional externally advertised snapshot URLs.

Supports as many as thirty-two independently configured HTTP JPEG snapshot sources using dealer-entered endpoint details and None, HTTP Basic, or HTTP Digest authentication. An optional Integration Designer Discover ONVIF Cameras action can locate compatible cameras and populate unused camera slots; manual configuration remains fully supported and discovery never runs on the RTI processor. Each available snapshot has image-typed local feedback for RTI image objects, raw local and external JPEG URLs, responsive local and optional external viewer URLs intended for browsers and SMS links, processor-local capture-time components for GUI construction, optional camera-name display, and one optional formatted value selected from as many as ten subscribed cross-driver variables. Expired, cleared, invalid, and superseded links display a responsive Snapshot not found HTML page while retaining the appropriate HTTP error status. Camera profile catalogs are intentionally not used because snapshot paths and authentication behavior vary across hundreds of camera models and firmware revisions. HTTPS camera retrieval, MJPEG proxying, recording, archive storage, MMS transmission, and cloud relay hosting are not included.

ONVIF Camera Setup

ONVIF setup is optional. To search the local network, right-click the driver in Integration Designer and run Discover ONVIF Cameras. The design-time utility searches every detected local IPv4 interface using multiple compatible filtered and unfiltered ONVIF discovery requests and repeats those requests once to tolerate UDP packet loss. Responders that explicitly advertise non-ONVIF service types, such as printers, are ignored. It then prompts for shared credentials, credentials for each camera, or no authentication. Compatible HTTP snapshot endpoints are added only to unused camera slots; existing manual camera configurations are not cleared, reordered, or overwritten.

If multicast discovery is blocked, disabled, or unavailable across a VLAN, right-click the driver and run Add ONVIF Camera by IP. Enter an IP address, hostname, host and port, or complete ONVIF device-service URL. A bare address uses the conventional `/onvif/device_service` path. The targeted action contacts only that device and does not scan the subnet.

The discovery result identifies the local interfaces searched, response counts, cameras added, duplicates skipped, and device-specific failures. Integration Designer may display password characters while credentials are entered. Credentials and snapshot paths are excluded from discovery logs and summaries.

No discovery method can guarantee detection of every ONVIF camera. Discovery can fail when ONVIF is disabled, multicast is blocked, a device resides on another VLAN, or a manufacturer returns nonstandard service information. Cameras can always be configured manually. After either setup action, review every populated property, run Refresh Snapshot for each added camera, and then send the project to the processor. These utilities run only in Integration Designer and do not continuously track camera changes.

To remove all configured cameras, right-click the driver in Integration Designer and run Remove All Cameras. Review the warning and select Remove All Cameras to confirm. The action clears every camera address, snapshot path, authentication selection, username, password, camera-specific display option, and viewer-variable assignment. It resets Number of Cameras to 1 and leaves Camera 01 disabled. Global snapshot-server settings and Viewer Custom Variable definitions are preserved. This action cannot be undone. Send the changed project to the processor to apply the cleared configuration.

Configuration and Commissioning

1. Configure cameras manually as described below, or right-click the driver in Integration Designer and run Discover ONVIF Cameras. Discovery is optional, runs only on the Integration Designer computer, and prompts for shared credentials, per-camera credentials, or no authentication. Integration Designer provides a standard text-entry dialog rather than a guaranteed masked-password field, so password characters may be visible while entered. Discovery populates only unused slots and never overwrites an existing camera with the same host. Review every discovered entry and test it before sending the project.

2. For manual setup, set Number of Cameras, enable each source, and enter a unique Camera Name, camera host or IPv4 address, and HTTP port.

3. Enter only the manufacturer's JPEG endpoint path in Snapshot Path. It must begin with a forward slash. Do not enter http://, https://, the camera address, port, username, or password in this field.

For example, split the Hikvision URL http://192.168.1.50/ISAPI/Streaming/Channels/101/picture into Host 192.168.1.50, HTTP Port 80, and Snapshot Path /ISAPI/Streaming/Channels/101/picture.

Choose None, HTTP Basic, or HTTP Digest as required by the camera and enter credentials only when required.

4. Set the dedicated processor HTTP Server Port. Do not use port 80 or a port already assigned to another driver.

5. Leave External Base URL blank for LAN/VPN-only use.

For external access, enter the complete public base URL supplied by the commissioned firewall or reverse proxy, without a trailing slash.

6. Optionally set Number of Viewer Custom Variables from zero through ten. For each slot, enter a Friendly Name, select Boolean, Integer, or String, select the source RTI system variable, and configure its display text, divisor, prefix, or suffix as applicable. The source variable's Integration Designer name is not copied automatically.

7. For each camera, choose whether the viewer page shows the Camera Name, Capture Time, and Custom Variable. When Show Custom Variable in Viewer is enabled, its dropdown contains only None plus the slots included by Number of Viewer Custom Variables. Select one slot for each applicable camera and review these selections after changing the global slot count. A disabled display option, None, an unconfigured slot, or an unavailable selected variable omits the entire related row; the page never displays an N/A placeholder.

8. Send the project to the processor. After startup synchronization, create or test the Refresh Snapshot driver command and select the desired camera. A successful request populates Local Snapshot Image for RTI image-object binding, Snapshot Available, Local Snapshot URL, Local Snapshot Viewer URL, the optional External Snapshot URL and External Snapshot Viewer URL, and Last Capture feedback.

9. Open each local URL from the LAN. If external access is enabled, test the advertised URL from a cellular connection outside the property and confirm that no processor diagnostics or unrelated ports are exposed.

10. Verify that an expired or cleared URL no longer returns an image and that a new refresh rotates the opaque URL token.

Snapshot Hosting Behavior

Only the latest successful JPEG for each camera is retained, and it is stored only in volatile processor memory. A refresh replaces the previous image and URL token. Local Snapshot Image is the image-typed variable dealers bind to an RTI image object.

Local Snapshot URL and External Snapshot URL return the JPEG directly through their respective addresses.

Local Snapshot Viewer URL and External Snapshot Viewer URL return the responsive HTML page that displays the same token-protected image through local and externally advertised addresses. Per-camera options independently control the camera-name heading, friendly processor-local capture-time row, and current formatted cross-driver-value row.

Disabled options, no selection, or unavailable custom data produce no corresponding row and no placeholder. Last Capture retains the machine-readable UTC ISO timestamp. Day, Month, Year, 12-hour Hour, two-character Hour (24), Minute, and Second variables use the processor's configured local-time offset and remain available after clearing or expiration.

Clear Snapshot removes both routes immediately. Expiration removes them after Snapshot Lifetime. A request for an expired, cleared, invalid, or superseded route receives a complete responsive HTML page stating Snapshot not found, with HTTP 404 or 410 status as appropriate.

Processor reload or power loss clears all snapshots.

Camera credentials are used only for the internal camera request and are never included in the served URLs.

Cached Snapshot Count reports the number of cameras that currently have an available image.

External Access

The RTI processor serves HTTP. For Internet delivery, prefer HTTPS termination through a reverse proxy. Forward public TCP 443 only to the reverse proxy; do not expose the processor snapshot port directly when the proxy can reach it on the private network.

The proxy must pass both /view/* and /snapshot/* without stripping their prefixes.

A public IP or DDNS name may be required. Carrier-grade NAT can prevent inbound forwarding. Buttonwood Technologies does not configure, validate, or secure the customer's firewall, certificate, DNS, or Internet service.

Commands

Refresh Snapshot retrieves one enabled camera.

Refresh All Snapshots serializes requests for all enabled cameras.

Clear Snapshot removes one cached image or all cached images.

Events

Snapshot Ready fires after a valid JPEG is cached.

Snapshot Failed fires for a completed failed request after startup.

Snapshot Expired fires when an available cached image reaches its configured lifetime. Startup does not manufacture historical camera events.

Troubleshooting

If a refresh fails, verify the camera host, port, path, authentication mode, credentials, and that the endpoint returns a JPEG rather than an HTML login page. Check Last Error and enable Trace. Enable Verbose Trace only temporarily; credentials, authorization headers, URL tokens, and image data are intentionally omitted from logging.

Version History

Version 1.2 - Removed internal build identifiers from dealer-facing property descriptions.

Version 1.1 - Added Local Snapshot Viewer URL for every camera, using the processor-local address and the same responsive token-protected viewer page as External Snapshot Viewer URL while retaining Local Snapshot Image and the raw local and external JPEG URLs.

Version 1.0 - Initial release.

Developed & Supported By

Buttonwood Technologies, LLC

rti@buttonwoodtechnologies.com

https://www.buttonwoodtechnologies.com

Product Specific Warning

Snapshots are point-in-time images that can be delayed, stale, incomplete, unavailable, expired, or different from live camera video. This driver is not a recording system, alarm panel, access-control system, or life-safety device and must not be used as the sole means of detecting, documenting, reporting, or responding to a security or emergency event. Externally publishing a processor-hosted image can expose private surveillance content. The dealer must use an appropriate firewall and HTTPS reverse proxy, keep the processor snapshot port private whenever practical, protect the processor and camera network, verify expiration behavior, and obtain any required customer authorization before enabling external access.

Third-Party Driver Notice and Disclaimer

This driver is independently developed by Buttonwood Technologies, LLC and is not developed, endorsed, supported, or certified by the manufacturers or service providers with which it interoperates, unless expressly stated otherwise. The driver is provided “AS IS” and “WITH ALL FAULTS,” without warranties of any kind, express or implied, including warranties of merchantability, fitness for a particular purpose, and noninfringement. To the maximum extent permitted by applicable law, Buttonwood Technologies, LLC shall not be liable for indirect, incidental, special, consequential, exemplary, or punitive damages, loss of data, loss of use, service interruption, or lost profits arising from installation or use of the driver. Nothing in this notice excludes or limits liability that cannot lawfully be excluded or limited.

Please log in to leave a comment.
Loading comments...