System and method for distributed control of segmented media
Abstract
A control server in communication with a content delivery network (CDN) node and a client device may include a client controller configured to receive a manifest from the CDN defining a plurality of content segments of a master content available at the CDN, and receive client information from the client device. The control server may generate, based on the client information, one player manifest for each of a plurality of client device media players of the client device to control access of each client device media player to appropriate ones of the plurality of content segments based on the client information.
Claims
exact text as granted — not AI-modified1 . A system for distributed control of segmented media, comprising:
a control server in communication with a content delivery node (CDN) and a client device, the control server including a client controller configured to:
receive a manifest from the CDN defining a plurality of content segments of a master content available at the CDN,
receive client information from the client device, and
generate, based on the client information, a player manifest for each of a plurality of client device media players of the client device to control access of each client device media player to appropriate ones of the plurality of content segments based on the client information, each player manifest being unique to each client device.
2 . The system of claim 1 , the manifest including a top-level manifest identifying the master content, and at least two variant manifests identifying variants of the master content and respective ones of the plurality of content segments associated with each variant, the control server selecting the appropriate ones of the plurality of content segments based on the top-level manifest and the at least two variant manifests.
3 . The system of claim 2 , each player manifest including some, but not all, of the plurality of variant manifests corresponding to the appropriate ones of the plurality of content segments.
4 . The system of claim 3 , each variant manifest corresponding to a different resolution.
5 . The system of claim 2 , the client information including a window size communicated by the client device, each player manifest identifying the variant manifest for a peak resolution corresponding to the window size.
6 . The system of claim 2 , each player manifest identifying the variant manifest corresponding to a peak resolution determined based on a total bandwidth and a bandwidth used by a plurality of client devices on the same network and in communication with the control server.
7 . The system of claim 2 , each player manifest identifying the variant manifest selected based on a total bandwidth and a bandwidth used by a plurality of client devices on the same network and in communication with the control server.
8 . The system of claim 1 , the client information including a primary media selection and at least one secondary media selection, wherein the control server uses the primary media selection and the secondary media selection to select the appropriate ones of the plurality of content segments.
9 . The system of claim 2 , the client information including total bandwidth and bandwidth used by the client device, wherein the control server uses the total bandwidth and the used bandwidth to select the appropriate ones of the plurality of content segments.
10 . The system of claim 2 , the client information including a player rate buffer level for each of the client media players, wherein the control server uses the player rate buffer levels to select the appropriate ones of the plurality of content segments.
11 . The system of claim 2 , the client information including total memory and memory used by the client device media players, wherein the control server uses the total memory and the used memory to select the appropriate ones of the plurality of content segments.
12 . The system of claim 1 , each player manifest being configured as a live manifest and generated periodically.
13 . The system of claim 2 , the player manifest identifying the appropriate ones of the plurality of content segments with different resolution when determined by the control server based upon one or more of the total bandwidth, the bandwidth used, and a network bandwidth usage.
14 . A method for distributed control of segmented media, comprising:
receiving a manifest from a content delivery node (CDN) defining a plurality of content segments of a master content available at the CDN, receiving client information from a client device, and generating, based on the client information, a player manifest for each of a plurality of client device media players of the client device to control access of each client device media player to appropriate ones of the plurality of content segments based on the client information, each player manifest being unique to each client device.
15 . The method of claim 14 , further comprising selecting the appropriate ones of the plurality of content segments based on a top-level manifest and at least two variant manifests included within the manifest, the top-level manifest identifying the master content, and the at least two variant manifests identifying variants of the master content and respective ones of the plurality of content segments associated with each variant.
16 . The method of claim 15 , each player manifest including some, but not all, of the plurality of variant manifests corresponding to the appropriate ones of the plurality of content segments.
17 . The method of claim 16 , each variant manifest corresponding to a different resolution.
18 . The method of claim 15 , the client information including a window size communicated by the client device, each player manifest identifying the variant manifest for a peak resolution corresponding to the window size.
19 . The method of claim 15 , each player manifest identifying the variant manifest corresponding to a peak resolution determined based a total bandwidth and a bandwidth used by a plurality of client devices on the same network and in communication with the control server.
20 . The method of claim 15 , further comprising selecting the appropriate ones of the plurality of content segments based upon a primary media selection and at least one secondary media selection included within the client information.
21 . The method of claim 15 , further comprising selecting the appropriate ones of the plurality of content segments based upon a total bandwidth and a bandwidth used of the client device as included within the client information.
22 . The method of claim 15 , further comprising selecting the appropriate ones of the plurality of content segments based upon a player rate buffer level for each of the client media players as included within the client information.
23 . The method of claim 15 , further comprising selecting the appropriate ones of the plurality of content segments based upon total memory and memory used by the client device media players as included within the client information.
24 . The method of claim 14 , further comprising periodically generating each player manifest as a live manifest.
25 . The method of claim 15 , further comprising generating subsequent ones of the player manifest to identify appropriate ones of the plurality of content segments with a different resolution based upon one or more of the total bandwidth, the bandwidth used, and a network bandwidth usage.
26 . The method of claim 14 , further comprising receiving a second manifest from a second CDN defining a second plurality of content segments of a second master content available at the second CDN, wherein each player manifest controls access of each client device media player to appropriate ones of the first and second plurality of content segments.
27 . The system of claim 1 , wherein the processor is configured to receive, from a second CDN, a second manifest defining a second plurality of content segments of a second master content available at the second CDN; and
wherein each player manifest controls access of each client device media player to appropriate ones of the first and second plurality of content segments.Join the waitlist — get patent alerts
Track US2019069036A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.