Effectively fetch media content for enhancing media streaming
First Claim
1. A computer-implemented method, comprising:
- receiving from a user of an online system a request for streaming media content of a media file;
encoding the media file into one or more media representations of the media content, each of the one or more media representations of the media content describing a corresponding streaming quality of the media content;
segmenting each of the one or more media representations of the media content into a plurality of media segments according to a predefined byte offset;
generating a manifest file for each of the one or more media representations of the media content, each manifest file for a media representation of the media content comprising information describing a location of the media representation of the media content, and a plurality of media segments for the media representation of the media content;
analyzing a plurality of user features describing the user and conditions associated with streaming the media content to the user, the plurality of user features including a history of streaming services received by the user, the history of streaming services identifying a quality of media representation preferred by the user;
generating one or more fetch commands for a media representation of the media content having the quality of media representation preferred by the user, each fetch command indicating a number of bytes of media content to be fetched with respect to an initial byte offset; and
providing the manifest file and the corresponding one or more fetch commands to the user of the online system for streaming the media content of the media file.
2 Assignments
0 Petitions
Accused Products
Abstract
An online system more efficiently streams multimedia content over the Internet for play back on client devices with varying computing power and network bandwidths by generating enhanced manifest files that more efficiently identify suitable media representations of the multimedia content. Each media representation has multiple media segments according to predefined byte ranges and a manifest file, which identifies location of the media file, bitrates, resolution, byte range, total duration, and other metadata. The online system customizes a manifest file for a user based on various factors including device capacity, network connectivity type and geolocation of the user. The online system also generates manifest fetch commands, which more efficiently fetch media segments for streaming. In response to changes of streaming server and media file (e.g., increased popularity), the online system dynamically updates corresponding manifest files.
50 Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
receiving from a user of an online system a request for streaming media content of a media file; encoding the media file into one or more media representations of the media content, each of the one or more media representations of the media content describing a corresponding streaming quality of the media content; segmenting each of the one or more media representations of the media content into a plurality of media segments according to a predefined byte offset; generating a manifest file for each of the one or more media representations of the media content, each manifest file for a media representation of the media content comprising information describing a location of the media representation of the media content, and a plurality of media segments for the media representation of the media content; analyzing a plurality of user features describing the user and conditions associated with streaming the media content to the user, the plurality of user features including a history of streaming services received by the user, the history of streaming services identifying a quality of media representation preferred by the user; generating one or more fetch commands for a media representation of the media content having the quality of media representation preferred by the user, each fetch command indicating a number of bytes of media content to be fetched with respect to an initial byte offset; and providing the manifest file and the corresponding one or more fetch commands to the user of the online system for streaming the media content of the media file. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory computer readable storage medium having instructions encoded thereon that, when executed by a processor, cause the processor to perform the steps including:
-
receiving from a user of an online system a request for streaming media content of a media file; encoding the media file into one or more media representations of the media content, each of the one or more media representations of the media content describing a corresponding streaming quality of the media content; segmenting each of the one or more media representations of the media content into a plurality of media segments according to a predefined byte offset; generating a manifest file for each of the one or more media representations of the media content, each manifest file for a media representation of the media content comprising information describing location of the media representation of the media content, and a plurality of media segments for the media representation of the media content; analyzing a plurality of user features describing the user and conditions associated with streaming the media content to the user, the plurality of user features including a history of streaming services received by the user, the history of streaming services identifying a quality of media representation preferred by the user; generating one or more fetch commands for a media representation of the media content having the quality of media representation preferred by the user, each fetch command indicating a number of bytes of media content to be fetched with respect to an initial byte offset; and providing the manifest file and corresponding one or more fetch commands to the user of the online system for streaming the media content of the media file. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification