Method and apparatus for implementing seamless playback of continuous media feeds
First Claim
1. A method for storing a continuous feed of video, the method comprising the steps of:
- receiving a digital data stream produced by encoding said continuous feed in a digital video format;
creating a series of content files by repeatedly performing the steps of;
storing said digital data stream in a current file; and
establishing a new file as said current file when said current file satisfies a predetermined condition;
if said series of content files satisfy a particular deletion condition, then deleting a particular content file that satisfies a particular deletion criteria;
determining whether any reader is currently playing information from said particular content file, and delaying the step of deleting if a reader is currently playing information from said particular content file.
14 Assignments
0 Petitions
Accused Products
Abstract
A method and system for storing a continuous feed of video is provided. According to one aspect of the invention, the continuous feed is encoded in a digital video format to produce a digital data stream. A series of content files is created by repeatedly performing the steps of (1) storing the digital data stream in a current file, and (2) establishing a new file as the current file when the current file satisfies a predetermined condition. If the series of content files satisfy a particular deletion criteria, then a particular content file that satisfies a particular deletion criteria is deleted. A determination is made as to whether any reader is currently playing information from the particular content file. If it is determined that a reader is playing information from the particular content file then the step of deleting the particular content file is delayed. In certain aspects, tag information that indicates information about frames contained in the digital data stream is generated. The tag information includes timestamps that indicate timing of frames relative to a beginning of the digital data stream. An initial time value that indicates an absolute time that corresponds to the beginning of the digital data stream. When a request from a client for playback beginning at a specified absolute time is received, the initial time value is subtracted from the specified absolute time to determine a relative time. The tag information is used to identify a location in the digital data stream that corresponds to the relative time. The digital data stream is then transmitted to the client beginning at the location in the digital data stream that corresponds to the relative time.
153 Citations
20 Claims
-
1. A method for storing a continuous feed of video, the method comprising the steps of:
-
receiving a digital data stream produced by encoding said continuous feed in a digital video format;
creating a series of content files by repeatedly performing the steps of;
storing said digital data stream in a current file; and
establishing a new file as said current file when said current file satisfies a predetermined condition;
if said series of content files satisfy a particular deletion condition, then deleting a particular content file that satisfies a particular deletion criteria;
determining whether any reader is currently playing information from said particular content file, and delaying the step of deleting if a reader is currently playing information from said particular content file. - View Dependent Claims (2, 3)
a predetermined period of time has elapsed;
orno readers are currently playing information from said particular content file.
-
-
3. The method of claim 1 wherein the step of establishing a new file as said current file when said current file satisfies a predetermined condition includes the step of establishing a new file as said current file when said current file contains a predetermined amount of said continuous feed.
-
4. A method for storing a continuous feed of video, the method comprising the steps of:
-
receiving a digital data stream produced by encoding said continuous feed in a digital video format;
creating a series of content files by repeatedly performing the steps of;
storing said digital data stream in a current file; and
establishing a new file as said current file when said current file satisfies a predetermined condition;
if said series of content files satisfy a particular deletion condition, then deleting a particular content file that satisfies a particular deletion criteria; and
preventing new readers from beginning to access data from said particular content file in said series of content files. - View Dependent Claims (5)
-
-
6. A method for storing a continuous feed of video, the method comprising the steps of:
-
receiving a digital data stream produced by encoding said continuous feed in a digital video format;
creating a series of content files by repeatedly performing the steps of;
storing said digital data stream in a current file;
generating and storing tag information separate from said digital video stream that indicates information about frames contained in said digital data stream; and
establishing a new file as said current file when said current file satisfies a predetermined condition;
if said series of content files satisfy a particular deletion condition, then deleting a particular content file that satisfies a particular deletion criteria. - View Dependent Claims (7, 8, 19)
generating a first header for a first tag file;
storing tag information sequentially in said first tag file;
when a set of tags within said first tag file becomes invalid, performing the steps of generating a second header for a second tag file;
copying all tags in said first tag file, except said set of tags, from said first tag file to said second tag file;
storing new tag information sequentially within said second tag file; and
deleting said first tag file.
-
-
8. The method of claim 7 wherein the step of deleting said first tag file comprises the step of renaming said second tag file over said first tag file.
-
19. The method of claim 6 wherein the step of establishing a new file as said current file when said current file satisfies a predetermined condition includes the step of establishing a new file as said current file when said current file contains a predetermined amount of said continuous feed.
-
9. A computer-readable medium having stored thereon sequences of instructions for storing a continuous feed of video, the sequences of instructions comprising instructions for performing the steps of:
-
receiving a digital data stream produced by encoding said continuous feed in a digital video format;
creating a series of content files by repeatedly performing the steps of;
storing said digital data stream in a current file; and
establishing a new file as said current file when said current file satisfies a predetermined condition;
if said series of content files satisfy a particular deletion condition, then deleting a particular content file that satisfies a particular deletion criteria;
determining whether any reader is currently playing information from said particular content file, and delaying the step of deleting if a reader is currently playing information from said particular content file. - View Dependent Claims (10, 11)
a predetermined period of time has elapsed;
orno readers are currently playing information from said particular content file.
-
-
11. The computer-readable medium of claim 9 wherein the step of establishing a new file as said current file when said current file satisfies a predetermined condition includes the step of establishing a new file as said current file when said current file contains a predetermined amount of said continuous feed.
-
12. A computer-readable medium having stored thereon sequences of instructions for storing a continuous feed of video, the sequences of instructions comprising instructions for performing the steps of:
-
receiving a digital data stream produced by encoding said continuous feed in a digital video format;
creating a series of content files by repeatedly performing the steps of;
storing said digital data stream in a current file; and
establishing a new file as said current file when said current file satisfies a predetermined condition;
if said series of content files satisfy a particular deletion condition, then deleting a particular content file that satisfies a particular deletion criteria; and
preventing new readers from beginning to access data from said particular content file in said series of content files. - View Dependent Claims (13)
-
-
14. A computer-readable medium having stored thereon sequences of instructions for storing a continuous feed of video, the sequences of instructions comprising instructions for performing the steps of:
-
receiving a digital data stream produced by encoding said continuous feed in a digital video format;
creating a series of content files by repeatedly performing the steps of;
storing said digital data stream in a current file;
generating and storing tag information separate from said digital video stream that indicates information about frames contained in said digital data stream; and
establishing a new file as said current file when said current file satisfies a predetermined condition;
if said series of content files satisfy a particular deletion condition, then deleting a particular content file that satisfies a particular deletion criteria. - View Dependent Claims (15, 16, 20)
generating a first header for a first tag file;
storing tag information sequentially in said first tag file;
when a set of tags within said first tag file becomes invalid, performing the steps of generating a second header for a second tag file;
copying all tags in said first tag file, except said set of tags, from said first tag file to said second tag file;
storing new tag information sequentially within said second tag file; and
deleting said first tag file.
-
-
16. The computer-readable medium of claim 15 wherein the step of deleting said first tag file comprises the step of renaming said second tag file over said first tag file.
-
20. The computer-readable medium of claim 16 wherein the step of establishing a new file as said current file when said current file satisfies a predetermined condition includes the step of establishing a new file as said current file when said current file contains a predetermined amount of said continuous feed.
-
17. A computer-readable medium having stored thereon sequences of instructions for providing non-sequential access to video from a continuous feed, the sequences of instructions comprising instructions for performing the steps of:
-
encoding said continuous feed in a digital video format to produce a digital data stream;
generating tag information that indicates information about frames contained in said digital data stream, said tag information including timestamps that indicate timing of frames relative to a beginning of said digital data stream;
storing an initial time value that indicates an absolute time that corresponds to said beginning of said digital data stream;
receiving a request from a client for playback beginning at a specified absolute time;
subtracting said initial time value from said specified absolute time to determine a relative time;
using said tag information to identify a location in said digital data stream that corresponds to said relative time; and
transmitting said digital data stream to said client beginning at said location in said digital data stream that corresponds to said relative time. - View Dependent Claims (18)
said digital data stream includes timestamp values having a first precision; and
said step of generating tag information includes generating timestamp values that have a second precision, wherein said second precision is higher than said first precision.
-
Specification