Methods and systems described herein play multi-license media contents. A multi-license media content includes digital assets, at least one of which is encrypted and requires one or more licenses to be decrypted when being played. The digital assets may include a video digital asset, an audio digital asset, or a textual digital asset. The digital assets may be played by using licenses from multiple sources such that various components (e.g., a video component, an audio component, ora textual component) of a media content are synchronized. The media content may be playedwithout downloading those licenses that already exist in the domain. Licenses may be retrieved adaptively when the licenses or the license segments required for playing the requested digital asset are incomplete. A related digital asset rather than the digital asset that is requested may be played thereby ensuring an uninterrupted media content delivery.
BRIEF DESCRIPTION OF THE DRAWINGS(1) The present application, in accordance with one or more various embodiments, is described in detail with reference to the following figures. The drawings are provided for purposes of illustration only and merely depict typical or example embodiments of the application. These drawings are provided to facilitate the reader's understanding of the application and shall not be considered limiting of the breadth, scope, or applicability of the application. It should be noted that for clarity and ease of illustration these drawings are not necessarily made to scale.(2) FIG. 1 illustrates an exemplary environment where various embodiments may be implemented.(3) FIG. 2 is a flow diagram illustrating an exemplary method of playing a multi-license media content, such as for the multi-license media content play system in FIG. 1.(4) FIG. 3 illustrates an exemplary system of playing a multi-license media content among various devices, such as the user system in FIG. 1.(5) FIG. 4 illustrates an exemplary system of playing a multi-license media content among various devices, such as the user system in FIG. 1.(6) FIG. 5 illustrates an example computing module that may be used in implementing various features of embodiments of the application.(7) The figures are not intended to be exhaustive or to limit the application to the precise form disclosed. It should be understood that the application can be practiced with modification and alteration, and that the
1. A computer-implemented method of playing media contents, comprising: receivinga request for a media content comprising a first digital asset and a second digital asseton a first device; locating and retrieving a first-plurality of licenses and a second plurality of licenses, the first plurality of licenses corresponding to the first digital asset and the second-plurality of licenses corresponding to the second digital asset; decrypting the first digital asset using the first plurality of licenses and the second digital asset using the second plurality of licenses, wherein each of the first plurality of licenses decrypts a corresponding segment of the first digital asset, and wherein each of the second plurality of licenses decrypts a corresponding segment of the second digital asset; and playing the first digital asset and the second digital asset in synchronization with each other on the first device; wherein the first plurality of licenses is different from the second plurality of licenses; wherein each license of the first plurality and the secondplurality of licenses comprises a time code that is used to decrypt a corresponding segment of the first digital asset or the second digital asset; and the step of playing the first digital asset and the second digital asset comprises using each of the time codes of the first plurality of licenses to determine an appropriate license for decrypting a corresponding segment of the first digital asset and using each of the time codes of the second plurality licenses to determine an appropriate license for decrypting a corresponding segment of the second digital asset.
9. A system of playing media contents, comprising: a firstdevice having memory and a processor coupled to the memory, the memory storing a set of instructions configured to cause the processor to: receive a request for a media content comprising a first digital asset and a second digital asset; locate and retrieve a first plurality of licenses and a second plurality of licenses, the first plurality of licenses corresponding to the first digital asset and the second plurality of licenses corresponding to the second digital asset; decrypt the first digital asset using the first plurality of licenses and the second digital asset using the second plurality of licenses, wherein each of the first plurality of licenses decrypts a corresponding segment of the first digital asset, and wherein each of the second plurality of licenses decrypts a corresponding segment of the second digital asset; and play the first digital asset and the second digital asset in synchronization with each other on the first device; wherein the first plurality of licenses is different from the second plurality of licenses; wherein each license of the first plurality and the second plurality of licenses comprises a time code that is used to decrypt a corresponding segment of the first digital asset or the second digital asset; and the first set of instructions is configured to cause the processor to use each of the time codes of the first plurality of licenses to determine an appropriate license for decrypting a corresponding segment of the first digital asset and use each of the time codes of the second plurality licenses to determine an appropriate license for decrypting a corresponding segment of the second digital asset.
17. A computer-implemented method of playing media contents, comprising: receiving a request for a media content comprising a first digital asset segment and a second digital asset segment on a device; locating and retrieving a first plurality of license segments and a second plurality of license segments, the first plurality of license segments corresponding to a third digital asset segment and the second plurality of license segments corresponding to the second digital asset segment; determining a third plurality of license segments required for playing the first digital asset segment when incomplete; decrypting the third digital asset segment using the first plurality of license segments and the second digital asset segment using the second plurality oflicense segments; and playing the third digital asset segment and the second digital asset segment in synchronization with each other on the device; wherein the first plurality oflicense segments is different from the second plurality of license segments, and the third digital asset segment is related to the first digital asset segment such that the third digital asset segment and the first digital asset segment correspond to the same componentof the requested media content; wherein each license of the first plurality of license segments and the second plurality of licenses segments comprises a time code that is used todecrypt a corresponding segment of the first digital asset segment or the second digital asset segment; and each of the time codes of the first plurality of license segment determines an appropriate license for decrypting a corresponding segment of the first digital asset segment and each of the time codes of the second plurality license segment determines an appropriate license for decrypting a corresponding segment of the second digital asset segment.