Abstract:
The various embodiments described herein include methods, devices, and systems for categorizing motion events. In one aspect, a method is performed at a camera device. The method includes: (1) capturing a plurality of video frames via the image sensor, the plurality of video frames corresponding to a scene in a field of view of the camera; (2) sending the video frames to the remote server system in real-time; (3) while sending the video frames to the remote server system in real-time: (a) determining that motion has occurred within the scene; (b) in response to determining that motion has occurred within the scene, characterizing the motion as a motion event; and (c) generating motion event metadata for the motion event; and (4) sending the generated motion event metadata to the remote server system concurrently with the video frames.
Abstract:
The various embodiments described herein include methods, devices, and systems for categorizing motion events. In one aspect, a method includes: (1) obtaining a plurality of video frames, the plurality of video frames corresponding to a scene and a motion event candidate; (2) identifying one or more visual characteristics of the scene; (3) obtaining one or more background factors for the scene; (4) utilizing the obtained background factors to identify one or more motion entities; (5) for each identified motion entity: (a) classifying the motion entity by performing object recognition; and (b) obtaining one or more representative motion vectors based on a motion track of the motion entity; and (6) assigning a motion event category to the motion event candidate based on the identified visual characteristics, the obtained background factors, the classified motion entities, and the obtained representative motion vectors.
Abstract:
An electronic device with a display, processor(s), and memory displays a video monitoring user interface including a video feed from a camera located remotely from the client device in a first region and an event timeline in a second region, the event timeline including event indicators for motion events previously detected by the camera. The electronic device detects a user input selecting a portion of the event timeline, where the selected portion of the event timeline includes a subset of the event indicators. In response to the user input, the electronic device causes generation of a time-lapse video clip of the selected portion of the event timeline. The electronic device displays the time-lapse video clip, where motion events corresponding to the subset of the event indicators are played at a slower speed than the remainder of the selected portion of the event timeline.
Abstract:
A method at a server system includes: receiving a video stream from a remote video camera, wherein the video stream comprises a plurality of video frames; selecting a plurality of non-contiguous frames from the video stream, the plurality of non-contiguous frames being associated with a predetermined time interval; encoding the plurality of non-contiguous frames as a compressed video segment associated with the time interval; receiving a request from an application running on a client device to review video from the remote video camera for the time interval; and in response to the request, transmitting the video segment to the client device for viewing in the application.
Abstract:
The various embodiments described herein include methods, devices, and systems for categorizing motion events. In one aspect, a method includes: (1) obtaining a plurality of video frames, the plurality of video frames corresponding to a scene and a motion event candidate; (2) identifying one or more visual characteristics of the scene; (3) obtaining one or more background factors for the scene; (4) utilizing the obtained background factors to identify one or more motion entities; (5) for each identified motion entity: (a) classifying the motion entity by performing object recognition; and (b) obtaining one or more representative motion vectors based on a motion track of the motion entity; and (6) assigning a motion event category to the motion event candidate based on the identified visual characteristics, the obtained background factors, the classified motion entities, and the obtained representative motion vectors.
Abstract:
The various embodiments described herein include methods, devices, and systems for analyzing video streams. In one aspect, a method includes, while receiving a video stream: obtaining motion start information indicating that a portion of the video stream includes a motion event candidate; and segmenting the portion of the video stream into a plurality of segments including an initial segment. The method also includes obtaining a first categorization for the motion event candidate based on the initial segment; and, in accordance with the obtained first categorization, generating a log entry for the motion event candidate including the first categorization. The method further includes: in response to obtaining motion end information, obtaining a second categorization for the motion event based on the plurality of segments; and updating the log entry for the motion event candidate based on the obtained second categorization.
Abstract:
An electronic device with a display, processor(s), and memory detects a first user input to zoom in on a respective portion of a first video feed displayed on the display, and, in response, performs a software zoom function on the respective portion of the first video feed to display the respective portion at a first resolution. The electronic device determines a current zoom magnification and coordinates of the respective portion of the first video feed, and sends a command to the camera to perform a hardware zoom function on the coordinates of the respective portion according to the current zoom magnification. The electronic device receives a second video feed from the camera with a field of view corresponding to the respective portion, and displays, on the display, the second video feed in the video monitoring user interface with a second resolution that is higher than the first resolution.
Abstract:
This application discloses a method of provisioning an electronic device. The electronic device proactively broadcasts an advertising packet that includes a device identifier associated with the electronic device. A server receives the device identifier via a client device, and issues a link approval response when it verifies that the electronic device associated with the device identifier is available for provisioning in association with a user account. In response to the link approval response, the electronic device and the client device establish communication via a short range wireless link. The client device encrypts at least a portion of network credentials of a secure wireless network using a password key generated at the server, and provides the encrypted network credentials to the electronic device. The electronic device decrypts the encrypted network credentials using a key generated at the electronic device, and accesses the secure wireless network using the decrypted network credentials.
Abstract:
A method at an electronic device with a display includes: displaying a user interface having a first region and a second region; receiving, and displaying in the first region of the user interface, a live video stream of a physical environment captured by a remote video camera, where at least some of the live video stream is recorded at a remote server; displaying, in the second region, a timeline corresponding to a timespan for a first portion of a duration during which the live video stream may have been recorded; in response to receiving a user interaction to move the timespan to a second portion of the duration, transitioning the displayed timeline to a new timeline that corresponds to the timespan for the second portion, and while transitioning, displaying, in the first region, a subset of video frames representing the first and/or second portion of the duration.
Abstract:
This application discloses a method of provisioning an electronic device. The electronic device proactively broadcasts an advertising packet that includes a device identifier associated with the electronic device. A server receives the device identifier via a client device, and issues a link approval response when it verifies that the electronic device associated with the device identifier is available for provisioning in association with a user account. In response to the link approval response, the electronic device and the client device establish communication via a short range wireless link. The client device encrypts at least a portion of network credentials of a secure wireless network using a password key generated at the server, and provides the encrypted network credentials to the electronic device. The electronic device decrypts the encrypted network credentials using a key generated at the electronic device, and accesses the secure wireless network using the decrypted network credentials.