Backfill of video stream
First Claim
Patent Images
1. A camera system, comprising:
- one or more processors;
memory having a limited capacity;
a camera element configured to continuously capture video data in real-time and store the captured video in the memory;
a microphone configured to continuously capture audio data in real-time and store the captured audio in the memory; and
a communication interface;
wherein the one or more processors are configured to;
continuously capture video and audio data in real-time via the camera element and the microphone, respectively;
while capturing the video and audio data in real-time, continuously store the captured video and audio data in the memory having the limited capacity;
continuously send the continuously captured video and audio data in real-time to a remote server system via the communication interface for storage by the remote server system, wherein the video and audio data stored at the remote server system is subsequently accessible by a client access device; and
while sending the continuously captured video and audio data in real time to the remote server system;
determine that a portion of the video and audio data sent to the remote server system was not received by the remote server system, thereby creating a gap in the video and audio data stored at the remote server system and available for access by the client access device; and
when at least some of the portion is still available in the memory having the limited capacity, resend the at least some of the portion from the memory to the remote server system via the communication interface to fill at least some of the gap.
4 Assignments
0 Petitions
Accused Products
Abstract
A data streaming system includes one or more processors, memory, and a circular buffer stored in the memory. The system includes a media loader process that retrieves frames from a media source and writes the retrieved frames in chronological order to the circular buffer. The system includes a forward dispatch process that transmits frames from the circular buffer to a destination server in chronological order in real-time. The system also includes a backfill dispatch process that executes in response to receiving a backfill request from the destination server, transmitting frames from the circular buffer to the destination server in reverse chronological order.
215 Citations
20 Claims
-
1. A camera system, comprising:
-
one or more processors; memory having a limited capacity; a camera element configured to continuously capture video data in real-time and store the captured video in the memory; a microphone configured to continuously capture audio data in real-time and store the captured audio in the memory; and a communication interface; wherein the one or more processors are configured to; continuously capture video and audio data in real-time via the camera element and the microphone, respectively; while capturing the video and audio data in real-time, continuously store the captured video and audio data in the memory having the limited capacity; continuously send the continuously captured video and audio data in real-time to a remote server system via the communication interface for storage by the remote server system, wherein the video and audio data stored at the remote server system is subsequently accessible by a client access device; and while sending the continuously captured video and audio data in real time to the remote server system; determine that a portion of the video and audio data sent to the remote server system was not received by the remote server system, thereby creating a gap in the video and audio data stored at the remote server system and available for access by the client access device; and when at least some of the portion is still available in the memory having the limited capacity, resend the at least some of the portion from the memory to the remote server system via the communication interface to fill at least some of the gap. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A method, comprising:
at a camera system having one or more processors, memory having a limited capacity, a camera element configured to continuously capture video data in real-time and store the captured video in the memory, a microphone configured to continuously capture audio data in real-time and store the captured audio in the memory, and a communication interface; continuously capturing video and audio data in real-time via the camera element and the microphone, respectively; while capturing the video and audio data in real-time, continuously storing the captured video and audio data in the memory having the limited capacity; continuously sending the continuously captured video and audio data in real-time to a remote server system via the communication interface for storage by the remote server system, wherein the video and audio data stored at the remote server system is subsequently accessible by a client access device; and while sending the continuously captured video and audio data in real time to the remote server system; determining that a portion of the video and audio data sent to the remote server system was not received by the remote server system, thereby creating a gap in the video and audio data stored at the remote server system and available for access by the client access device; and when at least some of the portion is still available in the memory having the limited capacity, resending the at least some of the portion from the memory to the remote server system via the communication interface to fill at least some of the gap. - View Dependent Claims (12, 13, 14, 15, 16)
-
17. A non-transitory computer readable storage medium storing one or more programs configured for execution by a camera system having one or more processors, memory having a limited capacity, a camera element configured to continuously capture video data in real-time and store the captured video in the memory, a microphone configured to continuously capture audio data in real-time and store the captured audio in the memory, and a communication interface, wherein the one or more programs comprise instructions for:
-
continuously capturing video and audio data in real-time via the camera element and the microphone, respectively; while capturing the video and audio data in real-time, continuously storing the captured video and audio data in the memory having the limited capacity; continuously sending the continuously captured video and audio data in real-time to a remote server system via the communication interface for storage by the remote server system, wherein the video and audio data stored at the remote server system is subsequently accessible by a client access device; and while sending the continuously captured video and audio data in real time to the remote server system; determining that a portion of the video and audio data sent to the remote server system was not received by the remote server system, thereby creating a gap in the video and audio data stored at the remote server system and available for access by the client access device; and when at least some of the portion is still available in the memory having the limited capacity, resending the at least some of the portion from the memory to the remote server system via the communication interface to fill at least some of the gap. - View Dependent Claims (18, 19, 20)
-
Specification