Method, system and software product for streaming content
First Claim
1. A method for streaming live content, comprising:
- receiving a content stream comprising live content;
directing successive portions of the received content stream to an encoder;
sequentially encoding, by the encoder, each portion of the content stream into an encoded content file to obtain a plurality of encoded content files that are sequential while simultaneously receiving newly arrived portions of the content stream, the encoding of each of the encoded content files occurring prior to a request for the respective encoded that content file;
assigning a sequence identifier to each of the encoded content files;
storing the encoded content files on a host with the sequence identifier being recorded in the file name of each of the encoded content files;
delivering a data file to a media player responsive to a request for content, said data file including information enabling the media player to;
sequentially and individually request each of the encoded content files from the host to obtain the content from the content stream, each of the sequential and individual requests using the file name including the encoded content file'"'"'s assigned sequence identifier;
calculate the sequence identifier of, and thereby request, the encoded content file containing the most recently received portion of the content stream at the time of the request, wherein the sequence identifier of the most recently received portion is calculated according to a commencement time, a current time, a frame rate, and a number of frames stored per each of the encoded content files; and
to decode and play the requested content file; and
delivering the requested encoded content files responsive to each of the sequential and individual requests.
1 Assignment
0 Petitions
Accused Products
Abstract
The present invention relates to methods and systems for streaming content and in particular, live content. The method includes the steps of: receiving a content stream; periodically encoding the received stream into a sequence of content files to thereby create a plurality of sequential content files; assigning a sequence identifier to each content file; storing the files on a host; delivering a data file to a media player responsive to a request for live content, said data file including information enabling the media player to sequentially and individually request each content file from the host and play the requested content file; and delivering requested content files responsive to each request.
-
Citations
20 Claims
-
1. A method for streaming live content, comprising:
-
receiving a content stream comprising live content; directing successive portions of the received content stream to an encoder; sequentially encoding, by the encoder, each portion of the content stream into an encoded content file to obtain a plurality of encoded content files that are sequential while simultaneously receiving newly arrived portions of the content stream, the encoding of each of the encoded content files occurring prior to a request for the respective encoded that content file; assigning a sequence identifier to each of the encoded content files; storing the encoded content files on a host with the sequence identifier being recorded in the file name of each of the encoded content files; delivering a data file to a media player responsive to a request for content, said data file including information enabling the media player to;
sequentially and individually request each of the encoded content files from the host to obtain the content from the content stream, each of the sequential and individual requests using the file name including the encoded content file'"'"'s assigned sequence identifier;
calculate the sequence identifier of, and thereby request, the encoded content file containing the most recently received portion of the content stream at the time of the request, wherein the sequence identifier of the most recently received portion is calculated according to a commencement time, a current time, a frame rate, and a number of frames stored per each of the encoded content files; and
to decode and play the requested content file; anddelivering the requested encoded content files responsive to each of the sequential and individual requests. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A live content streaming system, comprising:
-
a processor; a streaming application executable on the processor and having an encoder; and a host communicatively coupled to the streaming application, wherein, the streaming application is configured to; receive a content stream comprising live content; direct successive portions of the received content stream to the encoder; sequentially encode, using the encoder, each portion of the content stream into an encoded content file to obtain a plurality of encoded content files that are sequential while simultaneously receiving newly arrived portions of the content stream the encoding of each of the encoded content files occurring prior to a request for the respective encoded content file; assign a sequence identifier to each of the encoded content files upon its creation with the sequence identifier being recorded in the file name of each of the encoded content files; transfer the encoded content files to the host along with a data file including information enabling a media player to;
sequentially and individually request each of the encoded content files from the host to obtain the content from the content stream, each of the sequential and individual requests using the file name including the encoded content file'"'"'s assigned sequence identifier;
calculate the sequence identifier of, and thereby request, the encoded content file containing the most recently received portion of the content stream at the time of the request, wherein the sequence identifier of the most recently received portion is calculated according to a commencement time, a current time, a frame rate, and a number of frames stored per each of the encoded content files; and
to decode and play the requested content file; anddeliver the requested encoded content files responsive to each of the sequential and individual requests. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17)
-
-
18. A system, comprising
a microprocessor and a tangible, non-transitory computer-readable medium coupled thereto, wherein the microprocessor receives and executes instructions from the computer-readable medium and wherein the instructions cause the microprocessor to: -
receive a content stream comprising live content; direct successive portions of the received content stream to an encoder; sequentially encode, by the encoder, each portion of the content stream into an encoded content file to obtain a plurality of encoded content files that are sequential while simultaneously receiving newly arrived portions of the content stream, the encoding of each of the encoded content files occurring prior to a request for the respective encoded content file; assign a sequence identifier to each of the encoded content files; store the encoded content files on a host with the sequence identifier being recorded in the file name of each of the encoded content files; deliver a data file to a media player responsive to a request for content, said data file including information enabling the media player to;
sequentially and individually request each of the encoded content files from the host to obtain the content from the content stream, each of the sequential and individual requests using the file name including the encoded content file'"'"'s assigned sequence identifier;
calculate the sequence identifier of, and thereby request, the encoded content file containing the most recently received portion of the content stream at the time of the request, wherein the sequence identifier of the most recently received portion is calculated according to a commencement time, a current time, a frame rate, and a number of frames stored per each of the encoded content files; and
to decode and play the requested content file; anddeliver the requested encoded content files responsive to each of the sequential and individual requests. - View Dependent Claims (19)
-
-
20. A system, comprising:
-
one or more microprocessors; an encoder; and a microprocessor executable work assignment engine that, when executed by the one or more microprocessors in one or more servers, performs live content streaming by; receiving a content stream comprising live content; directing successive portions of the received content stream to an encoder; sequentially encoding, by the encoder, each portion of the content stream into an encoded content file to obtain a plurality of encoded content files that are sequential while simultaneously receiving newly arrived portions of the content stream, the encoding of each of the encoded content files occurring prior to a request for the respective encoded content file; assigning a sequence identifier to each of the encoded content files; storing the encoded content files on a host with the sequence identifier being recorded in the file name of each of the encoded content files; delivering a data file to a media player responsive to a request for content, said data file including information enabling the media player to;
sequentially and individually request each of the encoded content files from the host to obtain the content from the content stream, each of the sequential and individual requests using the file name including the encoded content file'"'"'s assigned sequence identifier;
calculate the sequence identifier of, and thereby request, the encoded content file containing the most recently received portion of the content stream at the time of the request, wherein the sequence identifier of the most recently received portion is calculated according to a commencement time, a current time, a frame rate, and a number of frames stored per each of the encoded content files; and
to decode and play the requested content file; anddelivering the requested encoded content files responsive to each of the sequential and individual requests.
-
Specification