Abstract:
In embodiments of camera data access based on subscription status, a camera device owned by a user captures and communicates video to a cloud-based service. The cloud-based service receives the video from the camera device, and records and maintains the video as recorded video data. The cloud-based service implements a service application to manage subscription levels that each delineate a level of access to the recorded video data associated with the camera device. The service application can then allow a client device application all access, some access, or no access to the recorded video data based on a subscription level corresponding to the camera device. The subscription levels can include a first subscription level that provides access to the live video captured by the camera device, and at least a second subscription level that provides access to both the live video and the recorded video data.
Abstract:
In embodiments of a camera system application program interface (API) for third-party integrations, a camera device captures images as a video stream and communicates the video stream to a cloud-based service. The cloud-based service implements a service application that processes video data received as the video stream. The cloud-based service exposes the camera system API that can be invoked by a third-party application running on a client device to request the video data and camera data that is associated with the camera device. The API permits access by the third-party application to the video data and the camera data from the cloud-based service. The API is exposed for the third-party application to communicate with the cloud-based service via a network connection, and the camera device communicates with the cloud-based service via a secure connection to provide the requested camera data and communicate the video stream to the cloud-based service.
Abstract:
Disclosed are apparatus and methods for executing software applications with an actual environment. Handlers for a software application are registered. Each handler can be executed upon receiving an indication of a triggering event. A determination is made that a triggering event for the software application has occurred. In response to the triggering event: a handler environment for the triggering event is determined based on the actual environment, triggered handlers of the registered handlers are determined to be executed, at least a respective portion of the handler environment is made available to each triggered handler, executing the triggered handlers, where at least one triggered handler updates its respective portion of the handler environment during execution, determining an updated-handler environment based on the handler environment and the portions of the handler environments after execution of the triggered handlers, and updating the actual environment based on the updated-handler environment.