US20160191954A1 - Automated video content processing - Google Patents
Automated video content processing Download PDFInfo
- Publication number
- US20160191954A1 US20160191954A1 US14/986,214 US201514986214A US2016191954A1 US 20160191954 A1 US20160191954 A1 US 20160191954A1 US 201514986214 A US201514986214 A US 201514986214A US 2016191954 A1 US2016191954 A1 US 2016191954A1
- Authority
- US
- United States
- Prior art keywords
- client device
- content
- program files
- streaming video
- network
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 claims abstract description 40
- 238000004806 packaging method and process Methods 0.000 claims abstract description 28
- 238000007726 management method Methods 0.000 claims abstract description 19
- 230000003044 adaptive effect Effects 0.000 claims description 7
- 230000004044 response Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 description 21
- 238000013475 authorization Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000000275 quality assurance Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000003908 quality control method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2347—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving video stream encryption
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/234—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N21/2343—Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/23—Processing of content or additional data; Elementary server operations; Server middleware
- H04N21/236—Assembling of a multiplex stream, e.g. transport stream, by combining a video stream with other content or additional data, e.g. inserting a URL [Uniform Resource Locator] into a video stream, multiplexing software data into a video stream; Remultiplexing of multiplex streams; Insertion of stuffing bits into the multiplex stream, e.g. to obtain a constant bit-rate; Assembling of a packetised elementary stream
- H04N21/23605—Creation or processing of packetized elementary streams [PES]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/20—Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
- H04N21/25—Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
- H04N21/266—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
- H04N21/26606—Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel for generating or managing entitlement messages, e.g. Entitlement Control Message [ECM] or Entitlement Management Message [EMM]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/60—Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client
- H04N21/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/633—Control signals issued by server directed to the network components or client
- H04N21/6332—Control signals issued by server directed to the network components or client directed to client
- H04N21/6334—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key
- H04N21/63345—Control signals issued by server directed to the network components or client directed to client for authorisation, e.g. by transmitting a key by transmitting keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/107—License processing; Key processing
-
- G06F2221/0753—
Definitions
- the present disclosure generally relates to delivering video content over the Internet or another network. More particularly, the following discussion relates to efficient video distribution of video content over a network through automated management of video packaging, caching and digital rights management.
- Video streaming services are becoming increasingly popular. Many different video on demand (VOD) services now allow viewers to obtain television programs, movies, sports and other types of video content directly over the Internet or a similar network. Most VOD services therefore maintain large libraries of video content to ensure an interesting variation of programming for their customers.
- VOD video on demand
- each available program is encoded, packaged, checked for quality, and stored before it is made available to viewers.
- Each of these steps can require expensive computing and storage resources.
- CDNs content delivery networks
- CDN services can be expensive, particularly when nation-wide or even world-wide delivery is expected.
- most modern adaptive streaming techniques require that each video be encoded multiple times to create multiple copies of varying quality.
- Video content is processed for delivery using an automated process that allows for convenient packaging of encrypted or digital rights management (DRM) protected content in a manner such that the packaged content can be efficiently stored in a content delivery network (CDN) or other content source for subsequent re-use by other media clients without re-packaging, and without excessive storage of unused content data.
- DRM digital rights management
- an automated process is executed by a data processing system to pre-package streaming video programs for delivery to multiple client devices via a network.
- the process suitably comprises: receiving, at a packaging system, a request for a particular streaming video program to be delivered to a first client device from a content delivery network; in response to the request, obtaining program files corresponding to the particular streaming video program from an origin server; encrypting the obtained program files of the particular streaming video program using a cryptographic key; delivering the encrypted program files to the content delivery network for delivery to the first client device; and delivering the cryptographic key to a digital rights management service associated with the first client device to thereby allow the first client device to obtain the cryptographic key and to decrypt the encrypted program files and thereby playback the particular streaming video program.
- Other embodiments provide a packaging server or other data processing system implemented with a processor and a memory, wherein the processor executes any of the automated processes described herein.
- Still other embodiments provide a data processing system to provide streams of encoded media content to client devices via a network.
- the data processing system is implemented using any number of different servers or other computer systems.
- the data processing system comprises a publishing system that formats the encoded media content for distribution on the network; an origin server that stores the encoded media content prior to distribution on the network; and a packaging server configured to execute an automated process to pre-package streaming video programs for delivery to the client devices via the network as set forth herein.
- Additional embodiments could provide other systems, devices, remote devices, media players, software programs, encoders, processes, methods and/or the like that perform these or other functions.
- Various embodiments, aspects and features are described in detail below.
- FIG. 1 is a block diagram showing an example of a distribution system for delivering video content via a network
- FIG. 2 shows an example process for delivering video content.
- a data processing system is provided to process raw media content (e.g., television programs, movies, and other content) for a video on demand (VOD) type services.
- content is encoded and packaged on demand for a particular type of client (e.g., a particular brand of phone or other media player device, or a particular media player client).
- the encoded content is packaged with appropriate digital rights management (DRM) for that media client and delivered to the media player for playback.
- DRM digital rights management
- the packaged content can also be stored in a cache (e.g., a CDN 127 associated with the Internet or other network 125 ) so that subsequent requests for the same content that are received from other media players of the same type as the originally-requesting player can be processed from the cache, without the need to re-package or re-secure with additional DRM. While this may consume additional processing resources to package the initial request, many embodiments will consume substantially less cache storage (since only versions that are actually used need to be cached). Moreover, the need to live encode future DRM can be reduced if the DRM can be re-used by other secure clients, as described herein.
- a cache e.g., a CDN 127 associated with the Internet or other network 125
- a mobile phone may require lower quality than a home-type media player (e.g., a Roku, Apple TV, ChromeCast or similar device), for example, due to the smaller screen.
- Encoding quality may be considered in addition to DRM type to create a manageable number of encoding profiles for different devices.
- Each profile can then be packaged, protected with a cryptographic key, and stored in the cache for convenient delivery.
- the cryptographic key can be securely delivered for the different media packages using any number of different DRM types. This ensures relatively quick delivery for at least the most common devices without requiring packaging and storage of data that is unlikely to be requested.
- the system 100 illustrated in FIG. 1 includes a video server system that encodes and delivers video programs to one or more remotely-located video player clients 130 via the Internet or another network 125 .
- Some programs may be encoded in advance of delivery and stored in storage no and/or content delivery network (CDN) 127 for immediate retrieval.
- CDN content delivery network
- a packaging system 106 that retrieves the content from the origin server 112 , packages a video stream with appropriate digital rights management (DRM) for the device requesting the content, and supplies the encoded video package to a content delivery network (CDN) 127 for delivery to the media player client device 130 .
- DRM digital rights management
- CDN content delivery network
- the package that is formed for a particular client may be maintained in cache storage with the CDN 127 for an appropriate period of time; when subsequent requests are received for the same content to be delivered to the same type of device (or otherwise having the same parameters are the earlier package), then the previously-packaged stream can be delivered by the CDN 127 without additional encoding, DRM and other processing.
- the storage/caching may be limited to only the formats and quality levels that are actually used, thereby greatly reducing the amount of storage space that would be required for appropriate delivery. That is, it is no longer necessary to encode, DRM protect and store packages that may not be used, thereby freeing up storage and reducing costs. Additional details are set forth below.
- Video server system 100 suitably includes an intake store 102 , a bulk video encoding system 103 , an origin server 112 , a publishing system 105 and a packaging system 106 as appropriate.
- Each of the components of server system 101 is typically implemented using conventional computing hardware and software, including any sort of cloud-based data processing capabilities, as desired.
- Each of the components therefore typically includes a conventional processor that is capable of executing software or firmware programs that are stored in memory or mass storage to execute the various functions and processes described herein.
- Origin server 112 is a computerized server that delivers media content 119 to one or more remotely-located media player devices 130 via network 125 .
- origin server 112 is implemented using one or more conventional network server systems that incorporate any number of processors, memory, input/output interfaces and/or the like.
- origin server 112 executes a software or firmware program that implements the various functions described herein. Equivalent embodiments could use cloud-based computing resources to implement origin server 112 , as desired.
- Still other embodiments may implement origin server 112 using any number of inter-operating computing systems, such as any sub-systems that provide user authentication/authorization, digital rights management (DRM), cryptography, billing, interface handling, redundant processing, load balancing and/or other functions as appropriate.
- DRM digital rights management
- Encoding systems 103 retrieve raw program content from intake store 102 and compress or otherwise format the program data for delivery on network 125 .
- Intake store 102 is a database or other repository for received media programs prior to processing for delivery.
- intake store 102 is a database system (including conventional processing, memory and input/output capabilities) that receives and stores master files prior to encoding or further processing.
- master files may be lightly compressed (or even uncompressed) mezzanine files, MPEG transport streams (TS) received via a satellite, cable or terrestrial broadcast, and/or another type of source content received from a content owner, distributor, broadcast and/or other source.
- TS MPEG transport streams
- intake store 102 may perform some initial processing on the received content (e.g., tagging or otherwise identifying the received content), although primary compression and other encoding will typically occur at later stages.
- At least some programs may be encoded a priori for storage on a CDN 127 or the like.
- encoding of such programs will be handled by a bulk encoder system 103 that provides encoding into one or more appropriate formats and qualities.
- U.S. Pat. No. 8,621,099 assigned to Sling Media Inc. of Foster City, Calif. describes one example of a cloud-based bulk media intake/encoding system, although other embodiments could use any other systems and processes as desired.
- One or more encoders 103 suitably convert content from the master file format maintained in content store 102 to one or more compressed formats for distribution on network 125 .
- content may be converted from MPEG or other source formats into any number of different formats to ensure compatibility with different types of devices and media players 130 .
- content received in any number of different formats may be encoded into a common MPEG transport stream or similar format, as desired.
- encoder 103 may encode two or more different bit rates, frame rates, resolutions or other qualities as appropriate so that the media stream may be adapted during transmission to the player 130 .
- U.S. Pat. No. 8,612,624 assigned to Echostar Technologies of Englewood, Colo. describes several types of adaptive streaming techniques, although equivalent embodiments could use any other types and formats for adaptive encoding and streaming as desired.
- Many VOD services maintain a substantial number of different copies of each video due to the wide range of formats and video qualities that are supported.
- Various embodiments could additionally or alternately receive content that is already encoded in the desired directly from the producer of the content (e.g., a television network) or another third party service 104 , as desired. In such cases, it may not be necessary to further encode the video content, although it may still be desirable to package and publish the content in the same manner as content encoded by encoders 103 , as described more fully herein.
- the producer of the content e.g., a television network
- another third party service 104 e.g., a third party service
- Publishing service 105 that formats the encoded video content in a suitable manner for distribution/publishing on network 125 .
- Publishing service 105 is typically implemented using a digital computing system having a processor and memory capable of executing software, firmware or other programmed logic to execute the various functions and processes described herein.
- Publishing service 105 may be equivalently implemented using cloud-type processing services that abstract the data processing hardware, as desired.
- publishing service 105 is able to re-organize or realign the encoded content for proper formatting and timing in accordance with the streaming media formats supported by the media player 130 .
- This re-organization may involve renaming segment or other data files, for example, so that the file names are compliant with a URL or other addressing scheme used by the media player 130 or by CDN 127 .
- Publishing service 105 may also create appropriate metadata to describe data segments, data files or the like that can be retrieved by the media player. This metadata may ultimately be delivered in a digest to the media player 130 to allow the player to request appropriate content files in an adaptive streaming session, for example.
- the publishing server 105 therefore places encoded content and/or content received directly from third parties 104 into a suitable format that can be stored in origin server 112 and further processed by packaging server 106 .
- This format will typically include sets of data segments that can be individually retrieved by media players 130 using HTTP or similar constructs via network 125 .
- Origin server 112 is typically a conventional file server system that stores individually-accessible data files for retrieval by media player devices 130 operating on network 125 .
- file server 112 acts as an origin server for CDN 127 ; that is, files retrieved from the origin server 112 can be redistributed and cached at various geographically-dispersed servers throughout CDN 127 so that subsequent requests for the same content that are received from other media players 130 can be processed more quickly.
- packaging server 106 which creates a bundle that can be stored with origin server 112 and/or CDN 127 for delivery to media players 130 as appropriate.
- the formatting and distribution of video content will vary from embodiment to embodiment. In many implementations, it will be beneficial to perform a quality assurance analysis on the completed package to ensure that formatting and encoding were performed correctly. Quality assurance will typically identify any encoding or formatting errors prior to distribution, but it can consume additional processing resources.
- Packaging system 106 may be implemented using any sort of conventional computing hardware, including any sort of processor, memory and input/output interfaces. Other embodiments may use cloud-based hardware (e.g., the cloud-based server systems available from Amazon Web Services or the like).
- encoded and packaged content 118 may be stored in a origin or other file storage 112 for subsequent delivery to media players 130 via network 125 .
- origin server 112 handles requests for content 119 from media players 130 . If the requested content is already encoded, then the encoded content can be retrieved from storage for delivery and/or caching with CDN 127 . Future requests for the same content by the same or other media players 130 may then be redirected toward CDN 127 for more effective delivery without consulting origin server 112 , as desired.
- Media player device 130 is any sort of media player, computer system, mobile phone, tablet, video game player, television, television receiver, set top box, video recorder and/or other device that is capable of receiving streaming media content via network 125 .
- media player device 130 includes any sort of conventional hardware 131 such as a processor, memory, input/output interfaces and/or the like to carry out the various functions and processes set forth herein.
- media player device 130 executes a software application 132 that is stored in memory and executed by the processor to carry out the various functions described herein.
- Software application 132 may include an application program interface (API) or software development kit (SDK) that is compatible with system 100 in general, and/or publishing system 105 in particular, to allow delivery of live encoded video streams.
- Application 132 may include a placeshifting or media player client, for example, that is developed to be compatible with encoding and delivery system 100 , as described herein.
- viewers operate a user interface of media player 130 to select and retrieve video content from server 112 via network 125 .
- server 112 stores at least some of the available video content with one or more content delivery networks (CDNs) 127 .
- CDN 127 typically maintains any number of edge servers that are geographically and/or logically distributed throughout network 125 so that users in any location can obtain relatively streamlined access to requested video files.
- the media player 130 initially contacts server 112 directly for authentication, authorization and/or access to lists of available programs. When a desired program is selected, media player 130 may be redirected to an edge server affiliated with CDN 127 that is closer to the requesting media player 130 or that can otherwise provide more efficient delivery than the origin server 112 .
- each edge server in CDN 127 initially receives encoded content from origin server 112 .
- the received content may be cached at least temporarily in case another media player 130 requests the same content from the same edge server.
- CDN services are typically relatively expensive, so caching unpopular programs 118 with a CDN 127 may result in unnecessary cost.
- media player 130 interacts with system 100 to obtain a suitable media package created for the particular media player 130 .
- the package that is created will be based upon the appropriate video format, DRM type, and/or quality levels for the particular type of device 130 .
- system 100 will typically respond to a request from the media player 130 by obtaining un-encoded content from intake store 102 , encoding the appropriate formats for media player 130 , encrypting the content as appropriate, packaging the encoded content with suitable DRM for that player, and delivering the encoded package to the media player device 130 for playback.
- the encoded package may also be cached with CDN 127 or the like for delivery to other media players of the same type as player 130 that request the same content in the future.
- Content may not be live encoded; in some embodiments, the content is encoded a priori into an appropriate number of formats and quality levels for storage associated with origin server 112 .
- the appropriately-formatted content may nevertheless be retrieved from storage 112 and packaged in response to a request from a media player 130 , as desired, if the particular DRM scheme allows.
- Packaging suitably involves obtaining the video and audio content for the requested programming in the appropriate format and/or at appropriate levels for the requesting media player, encrypting the content with a suitable cryptographic key, and assigning appropriate DRM for the package.
- content may be encrypted before or after encoding, and/or DRM may be applied prior to delivery as described herein.
- packaging system 106 includes a cryptographic key store 121 that generates keys of suitable length according to any appropriate algorithm or process, which is usually defined by the relevant DRM service. Cryptographic keys are typically used to generate symmetric or asymmetric encryption, digital signatures and/or other features as defined by the DRM standard that is applied.
- Keys may then be shared with the DRM service using secure protocols (and/or other techniques, including secure physical links) for subsequent retrieval by media player(s) 130 .
- media player 130 retrieves the package of encoded content via network 125 , it appropriate contacts DRM service 120 to obtain the needed key; the key maybe re-used, in some embodiments, for other media players 130 of the same type to prevent re-encoding or re-packaging by system 100 .
- the media package that is created, then, can be stored on the CDN 127 for subsequent delivery to multiple devices 130 , which each obtain the appropriate key for decryption and viewing through the appropriate DRM service 120 .
- FIG. 2 shows on example of a process 200 that could be used to securely package, cache and deliver video content within system 100 .
- the media player 130 or other client device suitably requests desired content from the CDN 127 or another source operating via network 125 (function 202 ). If the content source 127 has packaged content ready for delivery (function 204 ), then the pre-packaged and pre-stored content is simply delivered to the client device 130 . The media player device 130 is then able to jump directly to contacting the appropriate DRM service 120 to request appropriate decryption keys (functions 226 , 227 ) and to play back the pre-packaged content (function 230 ) using the received keys.
- CDN 127 If the CDN 127 does not have pre-packaged content already cached for immediate delivery (function 204 ), then a new package is created from content in the origin server 112 .
- CDN 127 (or another appropriate content delivery service on network 125 ) suitably contacts the packaging service 106 of system 100 (function 208 ) to initiate package creation.
- message 208 will indicate the type of client device 130 that is requesting the content, and/or any other information to assist in obtaining content of appropriate quality, resolution, etc. for that particular device.
- the appropriate content files are requested (function 210 ) from the origin server 112 and delivered to the packaging service (function 211 ) for encryption, quality control and/or other packaging services as desired (function 215 ).
- the packaging service 106 includes a key store 121 that generates appropriate cryptographic keys (e.g., using any symmetric or asymmetric key generation techniques and appropriate key lengths) for encrypting the retrieved content.
- the cryptographic keys used to encrypt the content may be maintained in the key store 121 for subsequent retrieval; in various embodiments, keys are pushed to one or more DRM services 120 for a priori storage by the DRM service, as desired.
- the encrypted content is assigned an identifier that allows convenient recognition and pairing to keys delivered through separate DRM services, as desired.
- the encrypted content is then delivered 216 to the CDN 127 for caching 218 .
- the encrypted content may be delivered to media player 130 (function 220 ) via the CDN 127 , as shown in FIG. 2 , although equivalent embodiments could deliver the encrypted content directly from the packaging service 106 instead of passing through CDN 127 , as desired.
- CDNs 127 are able to process different types of DRM automatically, or DRM packaging may be part of the processing 215 performed by packaging server 106 .
- the key store 121 or service 106 suitably delivers the appropriate cryptographic keys (and any associated identifiers for content encrypted with the generated key) to one or more DRM services 120 .
- packages encrypted with the same key may be delivered to different types of devices that use different DRM providers.
- Each of the different client devices 130 is able to retrieve the key via its own DRM provider.
- key store 121 suitably delivers the generated keys and identifiers to the different DRM providers, each according to their own requirements.
- the NAGRA and SECURE MEDIA DRM services typically operate with a priori knowledge of keys, so keys are pushed to these services as soon as possible after they are generated, or in any event prior to the client devices 130 requesting the packaged content from CDN 127 .
- key 222 is delivered to CDN service 120 so that it can be stored (function 224 ) for immediate delivery 227 when a subsequent request 226 is received from the client 130 .
- CDN services 120 such as WIDEVINE, PLAY READY, FAIRPLAY and the like typically prefer to request keys from the key store 121 on an as-needed basis.
- the DRM service 120 will typically request the key from key store 121 in response to a request 226 received from the client device 130 .
- the key can be securely delivered to the client device 130 (function 227 ) so that the client can decrypt the content package and play back the desired media content (function 230 ).
- the same package of encrypted content stored at CDN may be delivered to multiple client devices 130 (including different types of client devices 130 using different DRM services 120 ) as desired. This allows for very efficient delivery of media content using CDN 127 without incurring unnecessary overhead that would otherwise result from storing multiple copies of the same video (many of which would remain unused) of the same content with the CDN 127 .
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
Description
- This application claims priority to U.S. Provisional Application Ser. No. 62/098,866, filed on Dec. 31, 2014, which is incorporated herein by reference.
- The present disclosure generally relates to delivering video content over the Internet or another network. More particularly, the following discussion relates to efficient video distribution of video content over a network through automated management of video packaging, caching and digital rights management.
- Video streaming services are becoming increasingly popular. Many different video on demand (VOD) services now allow viewers to obtain television programs, movies, sports and other types of video content directly over the Internet or a similar network. Most VOD services therefore maintain large libraries of video content to ensure an interesting variation of programming for their customers.
- As the number of available media programs increases, however, additional costs are typically incurred for processing and storing the additional content. Generally speaking, each available program is encoded, packaged, checked for quality, and stored before it is made available to viewers. Each of these steps can require expensive computing and storage resources. Moreover, most modern VOD systems make use of content delivery networks (CDNs) to store multiple copies of media contents for convenient delivery to viewers in widely-varying geographic locations. CDN services can be expensive, particularly when nation-wide or even world-wide delivery is expected. Still further, most modern adaptive streaming techniques require that each video be encoded multiple times to create multiple copies of varying quality.
- It is therefore desirable to create systems and methods for efficiently and effectively delivering video content over the Internet or another network. These and other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and this background section.
- Various embodiments provide efficient processing of video on demand content for delivery to different types of media players and other client devices. Video content is processed for delivery using an automated process that allows for convenient packaging of encrypted or digital rights management (DRM) protected content in a manner such that the packaged content can be efficiently stored in a content delivery network (CDN) or other content source for subsequent re-use by other media clients without re-packaging, and without excessive storage of unused content data.
- In an example embodiment, an automated process is executed by a data processing system to pre-package streaming video programs for delivery to multiple client devices via a network. The process suitably comprises: receiving, at a packaging system, a request for a particular streaming video program to be delivered to a first client device from a content delivery network; in response to the request, obtaining program files corresponding to the particular streaming video program from an origin server; encrypting the obtained program files of the particular streaming video program using a cryptographic key; delivering the encrypted program files to the content delivery network for delivery to the first client device; and delivering the cryptographic key to a digital rights management service associated with the first client device to thereby allow the first client device to obtain the cryptographic key and to decrypt the encrypted program files and thereby playback the particular streaming video program. Other embodiments provide a packaging server or other data processing system implemented with a processor and a memory, wherein the processor executes any of the automated processes described herein.
- Still other embodiments provide a data processing system to provide streams of encoded media content to client devices via a network. The data processing system is implemented using any number of different servers or other computer systems. In an example embodiment, the data processing system comprises a publishing system that formats the encoded media content for distribution on the network; an origin server that stores the encoded media content prior to distribution on the network; and a packaging server configured to execute an automated process to pre-package streaming video programs for delivery to the client devices via the network as set forth herein.
- Additional embodiments could provide other systems, devices, remote devices, media players, software programs, encoders, processes, methods and/or the like that perform these or other functions. Various embodiments, aspects and features are described in detail below.
- Example embodiments will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and
-
FIG. 1 is a block diagram showing an example of a distribution system for delivering video content via a network; and -
FIG. 2 shows an example process for delivering video content. - The following detailed description of the invention is merely exemplary in nature and is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background or the following detailed description.
- According to various embodiments, a data processing system is provided to process raw media content (e.g., television programs, movies, and other content) for a video on demand (VOD) type services. Typically, content is encoded and packaged on demand for a particular type of client (e.g., a particular brand of phone or other media player device, or a particular media player client). The encoded content is packaged with appropriate digital rights management (DRM) for that media client and delivered to the media player for playback. The packaged content can also be stored in a cache (e.g., a
CDN 127 associated with the Internet or other network 125) so that subsequent requests for the same content that are received from other media players of the same type as the originally-requesting player can be processed from the cache, without the need to re-package or re-secure with additional DRM. While this may consume additional processing resources to package the initial request, many embodiments will consume substantially less cache storage (since only versions that are actually used need to be cached). Moreover, the need to live encode future DRM can be reduced if the DRM can be re-used by other secure clients, as described herein. - Many modern media delivery systems use different types of encoding and DRM to deliver content to different types of clients. Apple devices, for example, typically use FairPlay DRM, whereas Microsoft products (e.g., Xbox media players and Windows Media Player) use PlayReady DRM, and Android players typically use Widevine DRM. A content delivery service that supports multiple media player clients, then, must typically support multiple types of DRM. Moreover, adaptive media delivery typically involves the encoding of multiple copies of each program to ensure proper quality levels are available for delivery. While the fastest delivery technique would typically involve encoding each program at each quality level with each DRM type, this would result in a substantial demand for processing resources, as well as substantial data storage requirements. Data storage could be particularly expensive if the pre-encoded content is stored in a commercial CDN, which typically charges based upon the amount of data that is cached.
- It is far more efficient, then, to fractionalize the content based upon the operating system (e.g., iOS, Android, Windows, etc.) or device type (e.g., iPhone, Android phone, Apple brand tablet, Microsoft brand tablet, Android tablet, etc.) rather than the program itself, since different devices use different DRM techniques and services. Different devices may also have different profiles: a mobile phone may require lower quality than a home-type media player (e.g., a Roku, Apple TV, ChromeCast or similar device), for example, due to the smaller screen. Encoding quality may be considered in addition to DRM type to create a manageable number of encoding profiles for different devices. Each profile can then be packaged, protected with a cryptographic key, and stored in the cache for convenient delivery. The cryptographic key can be securely delivered for the different media packages using any number of different DRM types. This ensures relatively quick delivery for at least the most common devices without requiring packaging and storage of data that is unlikely to be requested.
- Turning now to the drawing figures and with initial reference to
FIG. 1 , an example video processing anddelivery system 100 is shown. Thesystem 100 illustrated inFIG. 1 includes a video server system that encodes and delivers video programs to one or more remotely-locatedvideo player clients 130 via the Internet or anothernetwork 125. Some programs may be encoded in advance of delivery and stored in storage no and/or content delivery network (CDN) 127 for immediate retrieval. Other programs, however, are encoded and/or packaged on an as-needed basis using apackaging system 106 that retrieves the content from theorigin server 112, packages a video stream with appropriate digital rights management (DRM) for the device requesting the content, and supplies the encoded video package to a content delivery network (CDN) 127 for delivery to the mediaplayer client device 130. The package that is formed for a particular client may be maintained in cache storage with theCDN 127 for an appropriate period of time; when subsequent requests are received for the same content to be delivered to the same type of device (or otherwise having the same parameters are the earlier package), then the previously-packaged stream can be delivered by theCDN 127 without additional encoding, DRM and other processing. Because the video content is packaged as-needed for aparticular client 130, the storage/caching may be limited to only the formats and quality levels that are actually used, thereby greatly reducing the amount of storage space that would be required for appropriate delivery. That is, it is no longer necessary to encode, DRM protect and store packages that may not be used, thereby freeing up storage and reducing costs. Additional details are set forth below. -
Video server system 100 suitably includes anintake store 102, a bulkvideo encoding system 103, anorigin server 112, apublishing system 105 and apackaging system 106 as appropriate. Each of the components of server system 101 is typically implemented using conventional computing hardware and software, including any sort of cloud-based data processing capabilities, as desired. Each of the components therefore typically includes a conventional processor that is capable of executing software or firmware programs that are stored in memory or mass storage to execute the various functions and processes described herein. -
Origin server 112 is a computerized server that delivers media content 119 to one or more remotely-locatedmedia player devices 130 vianetwork 125. In various embodiments,origin server 112 is implemented using one or more conventional network server systems that incorporate any number of processors, memory, input/output interfaces and/or the like. Typically,origin server 112 executes a software or firmware program that implements the various functions described herein. Equivalent embodiments could use cloud-based computing resources to implementorigin server 112, as desired. Still other embodiments may implementorigin server 112 using any number of inter-operating computing systems, such as any sub-systems that provide user authentication/authorization, digital rights management (DRM), cryptography, billing, interface handling, redundant processing, load balancing and/or other functions as appropriate. - Encoding
systems 103 retrieve raw program content fromintake store 102 and compress or otherwise format the program data for delivery onnetwork 125.Intake store 102 is a database or other repository for received media programs prior to processing for delivery. In various embodiments,intake store 102 is a database system (including conventional processing, memory and input/output capabilities) that receives and stores master files prior to encoding or further processing. Such master files may be lightly compressed (or even uncompressed) mezzanine files, MPEG transport streams (TS) received via a satellite, cable or terrestrial broadcast, and/or another type of source content received from a content owner, distributor, broadcast and/or other source. In some embodiments,intake store 102 may perform some initial processing on the received content (e.g., tagging or otherwise identifying the received content), although primary compression and other encoding will typically occur at later stages. - As noted above, at least some programs may be encoded a priori for storage on a
CDN 127 or the like. Typically, encoding of such programs will be handled by abulk encoder system 103 that provides encoding into one or more appropriate formats and qualities. U.S. Pat. No. 8,621,099 assigned to Sling Media Inc. of Foster City, Calif. describes one example of a cloud-based bulk media intake/encoding system, although other embodiments could use any other systems and processes as desired. - One or
more encoders 103 suitably convert content from the master file format maintained incontent store 102 to one or more compressed formats for distribution onnetwork 125. In various embodiments, content may be converted from MPEG or other source formats into any number of different formats to ensure compatibility with different types of devices andmedia players 130. Alternatively, content received in any number of different formats may be encoded into a common MPEG transport stream or similar format, as desired. For adaptive streaming,encoder 103 may encode two or more different bit rates, frame rates, resolutions or other qualities as appropriate so that the media stream may be adapted during transmission to theplayer 130. U.S. Pat. No. 8,612,624 assigned to Echostar Technologies of Englewood, Colo. describes several types of adaptive streaming techniques, although equivalent embodiments could use any other types and formats for adaptive encoding and streaming as desired. Many VOD services maintain a substantial number of different copies of each video due to the wide range of formats and video qualities that are supported. - Various embodiments could additionally or alternately receive content that is already encoded in the desired directly from the producer of the content (e.g., a television network) or another
third party service 104, as desired. In such cases, it may not be necessary to further encode the video content, although it may still be desirable to package and publish the content in the same manner as content encoded byencoders 103, as described more fully herein. - Various embodiments additionally provide a
publishing service 105 that formats the encoded video content in a suitable manner for distribution/publishing onnetwork 125.Publishing service 105 is typically implemented using a digital computing system having a processor and memory capable of executing software, firmware or other programmed logic to execute the various functions and processes described herein.Publishing service 105 may be equivalently implemented using cloud-type processing services that abstract the data processing hardware, as desired. - In operation,
publishing service 105 is able to re-organize or realign the encoded content for proper formatting and timing in accordance with the streaming media formats supported by themedia player 130. This re-organization may involve renaming segment or other data files, for example, so that the file names are compliant with a URL or other addressing scheme used by themedia player 130 or byCDN 127.Publishing service 105 may also create appropriate metadata to describe data segments, data files or the like that can be retrieved by the media player. This metadata may ultimately be delivered in a digest to themedia player 130 to allow the player to request appropriate content files in an adaptive streaming session, for example. - The
publishing server 105 therefore places encoded content and/or content received directly fromthird parties 104 into a suitable format that can be stored inorigin server 112 and further processed bypackaging server 106. This format will typically include sets of data segments that can be individually retrieved bymedia players 130 using HTTP or similar constructs vianetwork 125. - The encoded and formatted media content is typically stored with an
origin server 112 prior to delivery tomedia players 130.Origin server 112 is typically a conventional file server system that stores individually-accessible data files for retrieval bymedia player devices 130 operating onnetwork 125. In various embodiments,file server 112 acts as an origin server forCDN 127; that is, files retrieved from theorigin server 112 can be redistributed and cached at various geographically-dispersed servers throughoutCDN 127 so that subsequent requests for the same content that are received fromother media players 130 can be processed more quickly. - To that end, content can be packaged prior to delivery by
packaging server 106, which creates a bundle that can be stored withorigin server 112 and/orCDN 127 for delivery tomedia players 130 as appropriate. The formatting and distribution of video content will vary from embodiment to embodiment. In many implementations, it will be beneficial to perform a quality assurance analysis on the completed package to ensure that formatting and encoding were performed correctly. Quality assurance will typically identify any encoding or formatting errors prior to distribution, but it can consume additional processing resources.Packaging system 106 may be implemented using any sort of conventional computing hardware, including any sort of processor, memory and input/output interfaces. Other embodiments may use cloud-based hardware (e.g., the cloud-based server systems available from Amazon Web Services or the like). - As noted above, encoded and packaged content 118 may be stored in a origin or
other file storage 112 for subsequent delivery tomedia players 130 vianetwork 125. In many embodiments,origin server 112 handles requests for content 119 frommedia players 130. If the requested content is already encoded, then the encoded content can be retrieved from storage for delivery and/or caching withCDN 127. Future requests for the same content by the same orother media players 130 may then be redirected towardCDN 127 for more effective delivery without consultingorigin server 112, as desired. -
Media player device 130 is any sort of media player, computer system, mobile phone, tablet, video game player, television, television receiver, set top box, video recorder and/or other device that is capable of receiving streaming media content vianetwork 125. Typically,media player device 130 includes any sort ofconventional hardware 131 such as a processor, memory, input/output interfaces and/or the like to carry out the various functions and processes set forth herein. In various embodiments,media player device 130 executes asoftware application 132 that is stored in memory and executed by the processor to carry out the various functions described herein.Software application 132 may include an application program interface (API) or software development kit (SDK) that is compatible withsystem 100 in general, and/orpublishing system 105 in particular, to allow delivery of live encoded video streams.Application 132 may include a placeshifting or media player client, for example, that is developed to be compatible with encoding anddelivery system 100, as described herein. - Typically, viewers operate a user interface of
media player 130 to select and retrieve video content fromserver 112 vianetwork 125. In many implementations,server 112 stores at least some of the available video content with one or more content delivery networks (CDNs) 127.CDN 127 typically maintains any number of edge servers that are geographically and/or logically distributed throughoutnetwork 125 so that users in any location can obtain relatively streamlined access to requested video files. In many embodiments, themedia player 130 initiallycontacts server 112 directly for authentication, authorization and/or access to lists of available programs. When a desired program is selected,media player 130 may be redirected to an edge server affiliated withCDN 127 that is closer to the requestingmedia player 130 or that can otherwise provide more efficient delivery than theorigin server 112. Typically, each edge server inCDN 127 initially receives encoded content fromorigin server 112. The received content may be cached at least temporarily in case anothermedia player 130 requests the same content from the same edge server. As noted above, however, CDN services are typically relatively expensive, so caching unpopular programs 118 with aCDN 127 may result in unnecessary cost. - When a pre-encoded version of a requested program 118 is not available within
system 100,media player 130 interacts withsystem 100 to obtain a suitable media package created for theparticular media player 130. Generally speaking, the package that is created will be based upon the appropriate video format, DRM type, and/or quality levels for the particular type ofdevice 130. - To that end,
system 100 will typically respond to a request from themedia player 130 by obtaining un-encoded content fromintake store 102, encoding the appropriate formats formedia player 130, encrypting the content as appropriate, packaging the encoded content with suitable DRM for that player, and delivering the encoded package to themedia player device 130 for playback. The encoded package may also be cached withCDN 127 or the like for delivery to other media players of the same type asplayer 130 that request the same content in the future. - Content may not be live encoded; in some embodiments, the content is encoded a priori into an appropriate number of formats and quality levels for storage associated with
origin server 112. The appropriately-formatted content may nevertheless be retrieved fromstorage 112 and packaged in response to a request from amedia player 130, as desired, if the particular DRM scheme allows. - Packaging suitably involves obtaining the video and audio content for the requested programming in the appropriate format and/or at appropriate levels for the requesting media player, encrypting the content with a suitable cryptographic key, and assigning appropriate DRM for the package. In various embodiments, content may be encrypted before or after encoding, and/or DRM may be applied prior to delivery as described herein. In an example embodiment,
packaging system 106 includes a cryptographickey store 121 that generates keys of suitable length according to any appropriate algorithm or process, which is usually defined by the relevant DRM service. Cryptographic keys are typically used to generate symmetric or asymmetric encryption, digital signatures and/or other features as defined by the DRM standard that is applied. Keys may then be shared with the DRM service using secure protocols (and/or other techniques, including secure physical links) for subsequent retrieval by media player(s) 130. Whenmedia player 130 retrieves the package of encoded content vianetwork 125, it appropriatecontacts DRM service 120 to obtain the needed key; the key maybe re-used, in some embodiments, forother media players 130 of the same type to prevent re-encoding or re-packaging bysystem 100. The media package that is created, then, can be stored on theCDN 127 for subsequent delivery tomultiple devices 130, which each obtain the appropriate key for decryption and viewing through theappropriate DRM service 120. -
FIG. 2 shows on example of aprocess 200 that could be used to securely package, cache and deliver video content withinsystem 100. With reference now toFIG. 2 , themedia player 130 or other client device suitably requests desired content from theCDN 127 or another source operating via network 125 (function 202). If thecontent source 127 has packaged content ready for delivery (function 204), then the pre-packaged and pre-stored content is simply delivered to theclient device 130. Themedia player device 130 is then able to jump directly to contacting theappropriate DRM service 120 to request appropriate decryption keys (functions 226, 227) and to play back the pre-packaged content (function 230) using the received keys. - If the
CDN 127 does not have pre-packaged content already cached for immediate delivery (function 204), then a new package is created from content in theorigin server 112. CDN 127 (or another appropriate content delivery service on network 125) suitably contacts thepackaging service 106 of system 100 (function 208) to initiate package creation. In various embodiments,message 208 will indicate the type ofclient device 130 that is requesting the content, and/or any other information to assist in obtaining content of appropriate quality, resolution, etc. for that particular device. The appropriate content files are requested (function 210) from theorigin server 112 and delivered to the packaging service (function 211) for encryption, quality control and/or other packaging services as desired (function 215). In various embodiments, thepackaging service 106 includes akey store 121 that generates appropriate cryptographic keys (e.g., using any symmetric or asymmetric key generation techniques and appropriate key lengths) for encrypting the retrieved content. The cryptographic keys used to encrypt the content may be maintained in thekey store 121 for subsequent retrieval; in various embodiments, keys are pushed to one ormore DRM services 120 for a priori storage by the DRM service, as desired. In various embodiments, the encrypted content is assigned an identifier that allows convenient recognition and pairing to keys delivered through separate DRM services, as desired. The encrypted content is then delivered 216 to theCDN 127 for caching 218. The encrypted content may be delivered to media player 130 (function 220) via theCDN 127, as shown inFIG. 2 , although equivalent embodiments could deliver the encrypted content directly from thepackaging service 106 instead of passing throughCDN 127, as desired. - Many commercially-
available CDNs 127 are able to process different types of DRM automatically, or DRM packaging may be part of theprocessing 215 performed bypackaging server 106. In various embodiments, thekey store 121 orservice 106 suitably delivers the appropriate cryptographic keys (and any associated identifiers for content encrypted with the generated key) to one ormore DRM services 120. In some examples, packages encrypted with the same key may be delivered to different types of devices that use different DRM providers. Each of thedifferent client devices 130 is able to retrieve the key via its own DRM provider. To that end,key store 121 suitably delivers the generated keys and identifiers to the different DRM providers, each according to their own requirements. The NAGRA and SECURE MEDIA DRM services, for example, typically operate with a priori knowledge of keys, so keys are pushed to these services as soon as possible after they are generated, or in any event prior to theclient devices 130 requesting the packaged content fromCDN 127. In the example illustrated inFIG. 2 ,key 222 is delivered toCDN service 120 so that it can be stored (function 224) forimmediate delivery 227 when asubsequent request 226 is received from theclient 130. In other embodiments,CDN services 120 such as WIDEVINE, PLAY READY, FAIRPLAY and the like typically prefer to request keys from thekey store 121 on an as-needed basis. In such cases, theDRM service 120 will typically request the key fromkey store 121 in response to arequest 226 received from theclient device 130. In either event, the key can be securely delivered to the client device 130 (function 227) so that the client can decrypt the content package and play back the desired media content (function 230). As noted above, the same package of encrypted content stored at CDN may be delivered to multiple client devices 130 (including different types ofclient devices 130 using different DRM services 120) as desired. This allows for very efficient delivery of mediacontent using CDN 127 without incurring unnecessary overhead that would otherwise result from storing multiple copies of the same video (many of which would remain unused) of the same content with theCDN 127. - The various processes, devices and systems described herein may be readily adapted for any number of equivalent environments and applications. For example, although the foregoing discussion frequently refers to video on demand services, equivalent embodiments could be used to process any other types of streaming video content, including content streamed from a remote service digital video recorder (RSDVR), placeshifting device, media server or the like. Any number of alternate but equivalent embodiments could be formulated as desired.
- The term “exemplary” is used herein to represent one example, instance or illustration that may have any number of alternates. Any implementation described herein as “exemplary” is not necessarily to be construed as preferred or advantageous over other implementations. While several exemplary embodiments have been presented in the foregoing detailed description, it should be appreciated that a vast number of alternate but equivalent variations exist, and the examples presented herein are not intended to limit the scope, applicability, or configuration of the invention in any way. To the contrary, various changes may be made in the function and arrangement of elements described without departing from the scope of the claims and their legal equivalents.
Claims (15)
Priority Applications (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/986,214 US10091538B2 (en) | 2014-12-31 | 2015-12-31 | Automated video content processing |
US16/142,668 US10595061B2 (en) | 2014-12-31 | 2018-09-26 | Automated video content processing |
US16/821,518 US11159832B2 (en) | 2014-12-31 | 2020-03-17 | Automated video content processing |
US17/452,165 US11825138B2 (en) | 2014-12-31 | 2021-10-25 | Automated video content processing |
US18/487,913 US20240048783A1 (en) | 2014-12-31 | 2023-10-16 | Automated video content processing |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201462098866P | 2014-12-31 | 2014-12-31 | |
US14/986,214 US10091538B2 (en) | 2014-12-31 | 2015-12-31 | Automated video content processing |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/142,668 Continuation US10595061B2 (en) | 2014-12-31 | 2018-09-26 | Automated video content processing |
Publications (2)
Publication Number | Publication Date |
---|---|
US20160191954A1 true US20160191954A1 (en) | 2016-06-30 |
US10091538B2 US10091538B2 (en) | 2018-10-02 |
Family
ID=55182608
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/986,214 Active 2036-03-09 US10091538B2 (en) | 2014-12-31 | 2015-12-31 | Automated video content processing |
US16/142,668 Active US10595061B2 (en) | 2014-12-31 | 2018-09-26 | Automated video content processing |
US16/821,518 Active US11159832B2 (en) | 2014-12-31 | 2020-03-17 | Automated video content processing |
US17/452,165 Active 2036-01-11 US11825138B2 (en) | 2014-12-31 | 2021-10-25 | Automated video content processing |
US18/487,913 Pending US20240048783A1 (en) | 2014-12-31 | 2023-10-16 | Automated video content processing |
Family Applications After (4)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/142,668 Active US10595061B2 (en) | 2014-12-31 | 2018-09-26 | Automated video content processing |
US16/821,518 Active US11159832B2 (en) | 2014-12-31 | 2020-03-17 | Automated video content processing |
US17/452,165 Active 2036-01-11 US11825138B2 (en) | 2014-12-31 | 2021-10-25 | Automated video content processing |
US18/487,913 Pending US20240048783A1 (en) | 2014-12-31 | 2023-10-16 | Automated video content processing |
Country Status (5)
Country | Link |
---|---|
US (5) | US10091538B2 (en) |
EP (3) | EP3241356A1 (en) |
AU (1) | AU2015373940B2 (en) |
CA (1) | CA2972818C (en) |
WO (1) | WO2016109804A1 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10165033B2 (en) * | 2014-12-30 | 2018-12-25 | Sling Media LLC | Live encoding for distribution of long tail media content |
CN111355980A (en) * | 2020-04-16 | 2020-06-30 | 中奥科技发展(深圳)有限公司 | Copyright attribution processing method, middleware and system for digital video product |
CN113596512A (en) * | 2021-07-28 | 2021-11-02 | 珠海迈科智能科技股份有限公司 | Efficient and economical video stream distribution method and system |
US20230217083A1 (en) * | 2021-12-30 | 2023-07-06 | Hughes Network Systems, Llc | Secure satellite-based content preloading |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110493611A (en) * | 2019-08-09 | 2019-11-22 | 上海乂学教育科技有限公司 | Dst player |
US11726949B2 (en) | 2021-05-28 | 2023-08-15 | Samsung Electronics Co., Ltd. | System and method for selectively reprocessing video streams based on system resources and stream status |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140282784A1 (en) * | 2013-03-15 | 2014-09-18 | Time Warner Cable Enterprises Llc | Apparatus and methods for multicast delivery of content in a content delivery network |
US20150150038A1 (en) * | 2013-11-22 | 2015-05-28 | Verizon Patent And Licensing Inc. | Video content protection |
US20160191476A1 (en) * | 2014-09-14 | 2016-06-30 | Sophos Limited | Key management for compromised enterprise endpoints |
US20160198202A1 (en) * | 2012-12-10 | 2016-07-07 | Koninklijke Kpn N.V. | Digital Rights Management for Segmented Content |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10715316B2 (en) * | 2000-10-30 | 2020-07-14 | Geo Codex, LLC | System and method for delivering information in a communication network using location identity |
US20050195978A1 (en) * | 2004-03-04 | 2005-09-08 | Miodrag Babic | Method and apparatus for encoding and selective distribution of licensed digital content |
US7818444B2 (en) | 2004-04-30 | 2010-10-19 | Move Networks, Inc. | Apparatus, system, and method for multi-bitrate content streaming |
US7711647B2 (en) * | 2004-06-10 | 2010-05-04 | Akamai Technologies, Inc. | Digital rights management in a distributed network |
US8621099B2 (en) | 2009-09-21 | 2013-12-31 | Sling Media, Inc. | Systems and methods for formatting media content for distribution |
US9275054B2 (en) | 2009-12-28 | 2016-03-01 | Sling Media, Inc. | Systems and methods for searching media content |
JP2014506408A (en) | 2010-12-14 | 2014-03-13 | スリング メディア ピーブイティー エルティーディー. | System and method for distributed access to media content using place shifting |
US8838826B2 (en) | 2012-04-04 | 2014-09-16 | Google Inc. | Scalable robust live streaming system |
US9418209B2 (en) * | 2012-10-02 | 2016-08-16 | Google Technology Holdings LLC | Systems and methods for manipulating sensitive information in a secure mobile environment |
-
2015
- 2015-12-31 EP EP15826285.7A patent/EP3241356A1/en not_active Ceased
- 2015-12-31 EP EP21162826.8A patent/EP3855751A1/en not_active Ceased
- 2015-12-31 US US14/986,214 patent/US10091538B2/en active Active
- 2015-12-31 CA CA2972818A patent/CA2972818C/en active Active
- 2015-12-31 AU AU2015373940A patent/AU2015373940B2/en active Active
- 2015-12-31 EP EP24156397.2A patent/EP4340378A3/en active Pending
- 2015-12-31 WO PCT/US2015/068302 patent/WO2016109804A1/en active Application Filing
-
2018
- 2018-09-26 US US16/142,668 patent/US10595061B2/en active Active
-
2020
- 2020-03-17 US US16/821,518 patent/US11159832B2/en active Active
-
2021
- 2021-10-25 US US17/452,165 patent/US11825138B2/en active Active
-
2023
- 2023-10-16 US US18/487,913 patent/US20240048783A1/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160198202A1 (en) * | 2012-12-10 | 2016-07-07 | Koninklijke Kpn N.V. | Digital Rights Management for Segmented Content |
US20140282784A1 (en) * | 2013-03-15 | 2014-09-18 | Time Warner Cable Enterprises Llc | Apparatus and methods for multicast delivery of content in a content delivery network |
US20150150038A1 (en) * | 2013-11-22 | 2015-05-28 | Verizon Patent And Licensing Inc. | Video content protection |
US20160191476A1 (en) * | 2014-09-14 | 2016-06-30 | Sophos Limited | Key management for compromised enterprise endpoints |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10165033B2 (en) * | 2014-12-30 | 2018-12-25 | Sling Media LLC | Live encoding for distribution of long tail media content |
CN111355980A (en) * | 2020-04-16 | 2020-06-30 | 中奥科技发展(深圳)有限公司 | Copyright attribution processing method, middleware and system for digital video product |
CN113596512A (en) * | 2021-07-28 | 2021-11-02 | 珠海迈科智能科技股份有限公司 | Efficient and economical video stream distribution method and system |
US20230217083A1 (en) * | 2021-12-30 | 2023-07-06 | Hughes Network Systems, Llc | Secure satellite-based content preloading |
Also Published As
Publication number | Publication date |
---|---|
US11159832B2 (en) | 2021-10-26 |
EP4340378A2 (en) | 2024-03-20 |
US20240048783A1 (en) | 2024-02-08 |
EP4340378A3 (en) | 2024-05-01 |
US20220046295A1 (en) | 2022-02-10 |
US11825138B2 (en) | 2023-11-21 |
US10595061B2 (en) | 2020-03-17 |
AU2015373940A1 (en) | 2017-08-17 |
AU2015373940B2 (en) | 2019-01-17 |
CA2972818A1 (en) | 2016-07-07 |
US20200221143A1 (en) | 2020-07-09 |
EP3241356A1 (en) | 2017-11-08 |
EP3855751A1 (en) | 2021-07-28 |
US20190028742A1 (en) | 2019-01-24 |
CA2972818C (en) | 2023-08-01 |
US10091538B2 (en) | 2018-10-02 |
WO2016109804A1 (en) | 2016-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11825138B2 (en) | Automated video content processing | |
US11627184B2 (en) | Methods and systems for dynamic data management | |
US20170118537A1 (en) | Adaptive watermarking for streaming data | |
US10623409B2 (en) | Controlling access to IP streaming content | |
JP6630735B2 (en) | Permission management for watermarked data in broadcast environments | |
US20150199498A1 (en) | Flexible and efficient signaling and carriage of authorization acquisition information for dynamic adaptive streaming | |
US20230071277A1 (en) | Methods and systems for content control | |
EP2835947B1 (en) | Method, terminal, and server for generating media information and ahs system thereof | |
US20190246148A1 (en) | Method and system for scrambling broadcast with low latency | |
US9465923B2 (en) | Blackouts architecture | |
US10750248B1 (en) | Method and apparatus for server-side content delivery network switching | |
US8930446B2 (en) | Altering transcoding priority | |
JP6834766B2 (en) | Content playback device | |
US20190090005A1 (en) | Low Latency Adaptive Bitrate Linear Video Delivery System | |
US10165033B2 (en) | Live encoding for distribution of long tail media content | |
US10750216B1 (en) | Method and apparatus for providing peer-to-peer content delivery | |
US20220166604A1 (en) | Sample-parallel sparse cipher-block chaining (cbcs) encryption |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: ECHOSTAR TECHNOLOGIES L.L.C., COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:EKSTROM, JOSEPH;PFEIFER, JEREMY;REEL/FRAME:038122/0350 Effective date: 20150121 |
|
AS | Assignment |
Owner name: DISH TECHNOLOGIES L.L.C., COLORADO Free format text: CHANGE OF NAME;ASSIGNOR:ECHOSTAR TECHNOLOGIES L.L.C.;REEL/FRAME:046678/0224 Effective date: 20180202 |
|
STCF | Information on status: patent grant |
Free format text: PATENTED CASE |
|
AS | Assignment |
Owner name: U.S. BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT, MINNESOTA Free format text: SECURITY INTEREST;ASSIGNORS:DISH BROADCASTING CORPORATION;DISH NETWORK L.L.C.;DISH TECHNOLOGIES L.L.C.;REEL/FRAME:058295/0293 Effective date: 20211126 |
|
MAFP | Maintenance fee payment |
Free format text: PAYMENT OF MAINTENANCE FEE, 4TH YEAR, LARGE ENTITY (ORIGINAL EVENT CODE: M1551); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY Year of fee payment: 4 |