Dynamic generation of video manifest files
First Claim
Patent Images
1. A system for controlling delivery of a video asset to a client, comprising:
- a processor configured to;
obtain one or more manifest files;
determined, based at least in part on an evaluation of the obtained one or more manifest files, a plurality of manifest file components, wherein a manifest file component comprises at least one of a reference to a segment of the video asset and a reference to a sub-manifest file;
store the determined plurality of manifest file components in a repository comprising a plurality of candidate manifest file components;
receive a request for a manifest file associated with the video asset, wherein the request includes an attribute associated with the client;
obtain access to the repository including the plurality of candidate manifest file components;
based at least in part on the attribute associated with the client included in the request, select, from the repository, a subset of the plurality of candidate manifest file components associated with the video asset;
assemble a dynamic manifest file using the selected subset of the plurality of candidate manifest file components associated with the video asset selected from the repository based at least in part on the attribute associated with the client; and
provide the assembled dynamic manifest file to the client, wherein the client is configured to obtain segments of the video asset according to the assembled dynamic manifest file; and
a memory coupled to the processor and configured to provide the processor with instructions.
1 Assignment
0 Petitions
Accused Products
Abstract
Controlling delivery of a video asset to a client is disclosed. A request for a manifest file is received. Manifest file components are retrieved. A dynamic manifest file is assembled from a set of manifest file components.
330 Citations
31 Claims
-
1. A system for controlling delivery of a video asset to a client, comprising:
-
a processor configured to; obtain one or more manifest files; determined, based at least in part on an evaluation of the obtained one or more manifest files, a plurality of manifest file components, wherein a manifest file component comprises at least one of a reference to a segment of the video asset and a reference to a sub-manifest file; store the determined plurality of manifest file components in a repository comprising a plurality of candidate manifest file components; receive a request for a manifest file associated with the video asset, wherein the request includes an attribute associated with the client; obtain access to the repository including the plurality of candidate manifest file components; based at least in part on the attribute associated with the client included in the request, select, from the repository, a subset of the plurality of candidate manifest file components associated with the video asset; assemble a dynamic manifest file using the selected subset of the plurality of candidate manifest file components associated with the video asset selected from the repository based at least in part on the attribute associated with the client; and provide the assembled dynamic manifest file to the client, wherein the client is configured to obtain segments of the video asset according to the assembled dynamic manifest file; and a memory coupled to the processor and configured to provide the processor with instructions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 15, 16, 17)
-
-
13. A method of controlling delivery of a video asset to a client, comprising:
-
receiving, from one or more remote sources, one or more manifest files; scraping, from the one or more manifest files received from the one or more remote sources, a plurality of manifest file components, wherein at least one scraped manifest file component comprises at least one of a reference to a segment of the video asset and a reference to a sub-manifest file; storing the scraped plurality of manifest file components in a repository of candidate manifest file components; receiving a request for a manifest file associated with the video asset; obtaining access to the repository of candidate manifest file components based at least in part on an attribute associated with the client, select, from the repository, a subset of the candidate manifest file components in the repository associated with the video asset; assembling a dynamic manifest file using the subset of candidate manifest file components associated with the video asset selected from the repository based at least in part on the attribute associated with the client; and providing the assembled dynamic manifest file to the client, wherein the client is configured to obtain segments of the video asset according to the assembled dynamic manifest file. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
14. A computer program product for controlling delivery of a video asset to a client the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
-
receiving, from one or more remote sources, one or more manifest files; scraping, from the one or more manifest files received from the one or more remote sources, a plurality of manifest file components, wherein at least one scraped manifest file component comprises at least one of a reference to a segment of the video asset and a reference to a sub-manifest file; storing the scraped plurality of manifest file components in a repository of candidate manifest file components; receiving a request for a manifest file associated with the video asset; obtaining access to the repository of candidate manifest file components based at least in part on an attribute associated with the client, select, from the repository, a subset of the candidate manifest file components in the repository associated with the video asset; assembling a dynamic manifest file using the subset of candidate manifest file components associated with the video asset selected from the repository based at least in part on the attribute associated with the client; and providing the assembled dynamic manifest file to the client, wherein the client is configured to obtain segments of the video asset according to the assembled dynamic manifest file.
-
Specification