Movatterモバイル変換


[0]ホーム

URL:


US8887215B2 - Targeted high-value content in HTTP streaming video on demand - Google Patents

Targeted high-value content in HTTP streaming video on demand
Download PDF

Info

Publication number
US8887215B2
US8887215B2US13/826,421US201313826421AUS8887215B2US 8887215 B2US8887215 B2US 8887215B2US 201313826421 AUS201313826421 AUS 201313826421AUS 8887215 B2US8887215 B2US 8887215B2
Authority
US
United States
Prior art keywords
video
manifest
fragments
stitched
additional
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.)
Active
Application number
US13/826,421
Other versions
US20130332971A1 (en
Inventor
Yuval Fisher
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Imagine Communications Corp
Original Assignee
RGB Networks Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by RGB Networks IncfiledCriticalRGB Networks Inc
Priority to US13/826,421priorityCriticalpatent/US8887215B2/en
Assigned to RGB NETWORKS, INC.reassignmentRGB NETWORKS, INC.ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: FISHER, YUVAL
Priority to CN201310146002.7Aprioritypatent/CN103491457B/en
Priority to IL226420Aprioritypatent/IL226420A/en
Publication of US20130332971A1publicationCriticalpatent/US20130332971A1/en
Assigned to SILICON VALLEY BANKreassignmentSILICON VALLEY BANKSECURITY INTERESTAssignors: RGB NETWORKS, INC.
Application grantedgrantedCritical
Publication of US8887215B2publicationCriticalpatent/US8887215B2/en
Assigned to RGB NETWORKS, INCreassignmentRGB NETWORKS, INCRELEASE BY SECURED PARTY (SEE DOCUMENT FOR DETAILS).Assignors: SILICON VALLEY BANK
Assigned to IMAGINE COMMUNICATIONS CORP.reassignmentIMAGINE COMMUNICATIONS CORP.ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: RGB NETWORKS, INC.
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATIONreassignmentWILMINGTON TRUST, NATIONAL ASSOCIATIONPATENT COLLATERAL SECURITY AGREEMENTAssignors: IMAGINE COMMUNICATIONS CORPORATION (FORMERLY KNOWN AS HBC SOLUTIONS, INC.)
Assigned to WILMINGTON TRUST, NATIONAL ASSOCIATIONreassignmentWILMINGTON TRUST, NATIONAL ASSOCIATIONSECURITY INTEREST (SEE DOCUMENT FOR DETAILS).Assignors: IMAGINE COMMUNICATIONS CORPORATION (FORMERLY KNOWN AS HBC SOLUTIONS, INC.)
Assigned to PNC BANK, NATIONAL ASSOCIATION, AS AGENTreassignmentPNC BANK, NATIONAL ASSOCIATION, AS AGENTSECURITY AGREEMENTAssignors: IMAGINE COMMUNICATIONS CORP. (F/K/A HBC SOLUTIONS, INC.)
Assigned to BROADCAST LENDCO, LLC, AS SUCCESSOR AGENTreassignmentBROADCAST LENDCO, LLC, AS SUCCESSOR AGENTASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENTAssignors: PNC BANK, NATIONAL ASSOCIATION, AS EXISTING AGENT
Activelegal-statusCriticalCurrent
Anticipated expirationlegal-statusCritical

Links

Images

Classifications

Definitions

Landscapes

Abstract

Methods and apparatus are provided for combining assets for a streaming video signal. Video assets are provided in an adaptive bit rate format. The video assets may comprise fragments of various types of video content. A stitched manifest identifying a combination of the video assets is created in response to a client request for one or more of the video assets. The stitched manifest is provided to a client and used by the client to request the combination of video assets for playback as one continuous video stream in an order specified by the stitched manifest.

Description

This application claims the benefit of U.S. Provisional Patent Application No. 61/658,036, filed Jun. 11, 2012, which is incorporated herein and made a part hereof by reference.
BACKGROUND OF THE INVENTION
The present invention relates to the delivery of video content, such as advertisements or movies, to users using HTTP streaming with multiple high-value features, including efficient load-balancing, user-specific watermarking, and Uniform Resource Locator (URL) obfuscation.
The explosion of streaming video on Internet Protocol (IP) networks has led to the development of so-called Adaptive Hypertext Transfer Protocol (HTTP) Streaming protocols for video (also referred to as “adaptive bit rate” formats). While there are multiple instantiations of these protocols, they share the following features: (a) a video stream is broken into short, several-second-long files which are downloaded by a client and played sequentially to form a seamless video view; (b) these files, or “fragments” of video content, may be encoded at different bit rates and resolutions (referred to as “profiles”) to provide several versions of each fragment; (c) a manifest file is used to identify the fragments and let the client know the various available profiles, so that it can select which fragments to download based on local conditions, such as the available download bandwidth; and (d) in a typical scenario, the client may start downloading fragments at low resolution and low bandwidth and then switch to downloading fragments from higher bandwidth profiles, giving the user a fast tune-in experience and subsequent better video quality experience.
In a video-on-demand (VOD) scenario, the fragments from different profiles may be stored on disk or other mass storage devices for delivery via HTTP, but this forces video programs (also referred to herein as “assets”) to be composed of many separate files, which complicates content management. Thus, the fragments can be stored in a single aggregated file from which they are extracted “just-in-time” (JIT) when a client makes a request for a specific fragment.
The leading HTTP streaming formats in use currently are Apple® HTTP Live Streaming (HLS), Microsoft® Smooth Streaming (MSS), Adobe® HTTP Dynamic Streaming (HDS), and MPEG Dynamic Adaptive Streaming over HTTP (DASH). A just-in-time Packager (JITP) is a process that enables extraction of fragments from an aggregated collection (or a mezzanine file) and distribution of the extracted fragments over HTTP in these or other HTTP streaming formats.
A normal JITP can serve files from a single asset, but it cannot serve a collection of assets contiguously in response to one VOD request. It would be advantageous to provide a system in which a collection of assets can be served contiguously in response to one VOD request, whether coming from a JITP or from other origins. It would be further advantageous to provide methods for contiguously serving a collection of assets to a client in response to a single VOD request.
The methods and apparatus of the present invention provide the foregoing and other advantages.
SUMMARY OF THE INVENTION
The present invention relates to methods and apparatus for combining assets for a streaming video signal.
In an example embodiment of a method for combining assets for a streaming video signal in accordance with the present invention, video assets are provided in an adaptive bit rate format. The video assets comprise fragments of various types of video content. A stitched manifest identifying a combination of the video assets is created in response to a client request for one or more of the video assets. The stitched manifest is provided to a client and used by the client to request the combination of video assets for playback as one continuous video stream in an order specified by the stitched manifest.
In a further example embodiment of a method for combining assets for a streaming video signal in accordance with the present invention, video programs and additional video content files are provided in an adaptive bit rate format. Therefore, for each of a plurality of video programs, several versions of each of the video programs are provided, and each version is comprised of sets of fragmented files pre-encoded at correspondingly different bit rates, codecs or resolutions in an adaptive bit rate format, each set of the fragmented files being identified in a corresponding manifest file. Similarly, for each of a plurality of additional video content files, several versions of each of the additional video content files are provided, and each version is comprised of sets of fragmented files pre-encoded at correspondingly different bit rates, codecs or resolutions in an adaptive bit rate format, each set of the fragmented files of the additional video content files being identified in a corresponding additional manifest file. The manifest files and the additional manifest files identify a source location of the corresponding sets of video fragments and additional video fragments. An asset list is provided identifying the video programs and the additional video content files as video assets. A stitcher is provided for ingesting the asset list, the manifest files, and the additional manifest files and responding with a stitched manifest. The stitched manifest comprises a playlist combining one or more of the video fragments or the additional video fragments of one or more of the video assets. The stitched manifest is then provided to a client, where it is used to request the one or more fragments of the video assets for playback as one continuous video stream in an order specified by the stitched manifest.
The video assets may be, for example, JIT packaging assets or other stored assets. The stitcher may be included as part of a JIT packager or provided as a separate component. Thus, the one or more video assets may be provided to the client using just-in-time packaging. The JIT packager may provide the manifest files and the additional manifest files to the stitcher. The asset list is provided to the stitcher from local storage or in the client manifest request. In addition, the JIT packager may provide the one or more video assets in response to the client request.
The additional video content files may comprise at least one of advertisements, movie previews, public service announcements, movie ratings information, additional video programs, movie or video pre-rolls, programs from different video assets that are desired to be played in sequence, or the like.
Uniform resource locators (URLs) may be used to identify the video fragments and the additional video fragments in the stitched manifest.
In one example embodiment of the present invention, a new URL may be created for each video fragment and each additional video fragment. One of a database or a fixed mapping may be created or provided associating the new URL with an original URL for each video fragment and additional video fragment. The new URLs for the video fragments and additional video fragments may be combined on the stitched manifest. In such an example embodiment, when a request is received from a client for one of the new URLs at the stitcher, the original URL associated with the new URL is identified at the stitcher, and the video fragment or additional video fragment corresponding to the identified new URL is requested from a source (e.g., a video server, content server, or JIT packager) via the stitcher.
The video programs and additional video content files may be delivered using HTTP Live Streaming protocol. The stitched manifest may combine the new URLs of the video fragments and the additional video fragments in sequence for sequential playback at the client.
The video fragments and additional video fragments may be delivered using one of Microsoft® Smooth Streaming (MSS), Adobe® HTTP Dynamic Streaming (HDS), or Dynamic Adaptive Streaming over HTTP (DASH) protocols.
Where the URLs are timestamp-based, each of the video fragments or the additional video fragments have a corresponding timestamp. In such an example embodiment, the stitcher may provide modified timestamps to each new URL. The timestamps of the new URLs may be modified to account for a duration of a previous video fragment or additional video fragment.
Where the URLs are sequence number-based, each of the video fragments or the additional video fragments having a corresponding sequence number. In such an example embodiment, the stitcher may provide modified sequence numbers to each new URL. The sequence numbers of the new URLs may be modified to increase with each of the fragments of the one or more video assets identified on the stitched manifest in sequential order of playback. The stitcher maps the modified sequence numbers to the original sequence numbers to enable retrieval of the requested content.
In a further example embodiment, the additional video content files may comprise advertisements. In such an example embodiment, a placeholder may be provided in the asset list in place of information identifying the additional video content. Upon receipt of a request for a stitched manifest from the client, a specific advertisement may be selected for communication to the client that is related to the client or the one or more video assets subject to the request. The stitched manifest is then created by substituting identification information for the specific advertisement into the asset list in place of the placeholder. The stitched manifest is then provided to the client in response to the request for the stitched manifest. The stitched manifest is then used by the client to play back the requested video asset and the specific advertisement.
A plurality of stitchers may be provided in a video-on-demand system. Playlist servers may be provided to serve the stitched manifest to clients. Load information may be passed from the stitchers to the playlist servers. Load balancing of high-bandwidth-using stitchers may be achieved by enabling the low-bandwidth-using and externally load-balanced playlist servers to select a lightly loaded stitcher from the plurality of stitchers for delivery of the one or more video assets.
In another example embodiment of the present invention, two versions of each video asset may be provided to the stitcher, where the fragments of each version may have a different watermark embedded therein. A unique sequence may then be created comprised of watermarked fragments from the two versions of the watermarked video assets at the stitcher in order to send a different unique sequence to each client. The client's IP address or other identifying information may be encoded in the unique sequence.
The present invention may also include corresponding apparatus for carrying out the methods discussed above. In one example embodiment, a stitcher is provided for combining assets for a streaming video signal in a video distribution environment. In such a distribution environment, one or more video servers store, for each of a plurality of video programs, several versions of each of the video programs comprised of sets of fragmented files pre-encoded at correspondingly different bit rates, codecs or resolutions in an adaptive bit rate format, each set of the fragmented files being identified in a corresponding manifest file stored together therewith. In addition, one or more content servers store, for each of a plurality of additional video content files, several versions of each of the additional video content files comprised of sets of fragmented files pre-encoded at correspondingly different bit rates, codecs or resolutions in an adaptive bit rate format, each set of the fragmented files of the additional video content files being identified in a corresponding additional manifest file stored together therewith. The manifest files and the additional manifest files identify a source location of the corresponding sets of video fragments and additional video fragments. An asset list identifies the video programs and the additional video content files as video assets. The stitcher comprises a manifest combiner for ingesting the asset list, the manifest files, and the additional manifest files and responding with a stitched manifest, the stitched manifest comprising a playlist combining one or more of the video fragments or the additional video fragments of one or more of the video assets. The manifest combiner provides the stitched manifest to a client, the stitched manifest being used at the client to request the one or more fragments of the video assets for playback. The stitcher may also comprise a fragment proxy for obtaining the one or more fragments of the video assets from the one or more video servers or the one or more content servers and delivering the one or more fragments of the video assets to the client as one continuous video stream in an order specified by the stitched manifest.
The stitcher also comprises various features and elements for carrying out the various methods discussed above, including but not limited to a database for URL mapping and/or a mapping algorithm for mapping original URLs to newly created URLs.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention will hereinafter be described in conjunction with the appended drawing figures, wherein like reference numerals denote like elements, and:
FIG. 1 is a block diagram showing an example embodiment of the present invention, illustrating the return of a stitched manifest and the provision of video content to a client;
FIG. 2 is a block diagram showing an example embodiment of a stitcher in accordance with the present invention;
FIG. 3 is a block diagram showing a further example embodiment of the present invention;
FIG. 4 is a block diagram showing a further example embodiment of the present invention, illustrating the return of a stitched manifest and the insertion of targeted advertisement content to a client, as well as load balancing; and
FIG. 5 is a block diagram showing a further example embodiment of the present invention, illustrating the packaging of watermarked assets and delivery of these assets to clients.
DETAILED DESCRIPTION
The ensuing detailed description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the invention. Rather, the ensuing detailed description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an embodiment of the invention. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as set forth in the appended claims.
FIG. 1 shows a block diagram of an example embodiment of the present invention for combining assets for a streaming video signal. Video programs and additional video content files are provided in an adaptive bit rate format by corresponding servers (video servers10 or content servers12) or just-in-time packagers14. Therefore, for each of a plurality of video programs, several versions of each of the video programs are provided, and each version is comprised of sets offragmented files16 pre-encoded at correspondingly different bit rates, codecs or resolutions in an adaptive bit rate format, each set of thefragmented files16 being identified in acorresponding manifest file18. Similarly, for each of a plurality of additional video content files, several versions of each of the additional video content files are provided, and each version is comprised of sets offragmented files16 pre-encoded at correspondingly different bit rates, codecs or resolutions in an adaptive bit rate format, each set of thefragmented files16 of the additional video content files being identified in a correspondingadditional manifest file18. The manifest files and the additional manifest files18 identify a source location of the corresponding sets ofvideo fragments16 and additional video fragments16. Anasset list20 is provided identifying the video programs and the additional video content files as video assets. Astitcher22 is provided for ingesting theasset list20, the manifest files18, and the additional manifest files18 and responding with a stitchedmanifest24. The stitchedmanifest24 comprises a playlist combining one or more of the video fragments16 or theadditional video fragments16 of one or more of the video assets. The stitchedmanifest24 is then provided to aclient26, where it is used to request the one ormore fragments16 of the video assets for playback as one continuous video stream in an order specified by the stitchedmanifest24.
AlthoughFIG. 1 shows thestitcher22 as a separate component, it should be appreciated that the stitcher may be included as part of aJIT packager14. Thus, the video assets may be provided to theclient26 using just-in-time packaging. TheJIT packager14 may provide the manifest files18 and the additional manifest files18 to the stitcher. Theasset list20 may be provided to thestitcher22 either from local storage or in theclient26 request for the stitchedmanifest24. In addition, theJIT packager14 may provide thefragments16 of the one or more video assets in response to the client request.
Theasset list20 may be stored at the playlist server, at an external content management system (CMS)54 (as discussed below in connection withFIG. 4), or at any external storage component.
Further, it should be appreciated that the JIT packager(s)14 may function as anothervideo server10 orcontent server12, and therefore it should be appreciated that wherever avideo server10 orcontent server12 is mentioned herein, aJIT packager14 may be substituted therefore.
The additional (or original) video content files (from content server(s)12) may comprise at least one of advertisements, movie previews, public service announcements, movie ratings information, additional video programs, movie or video pre-rolls, programs from different video assets that are desired to be played in sequence, or the like.
Manifests in HTTP streaming use one of two methods to specify the uniform resource locators (URLs) of the fragments. HTTP Live Streaming (HLS), which allows streaming of live and on-demand video and audio to an Apple® iPhone®, iPad®, or iPod® Touch, uses complete URLs in its manifests. The client requests the URLs in the manifests and plays the fragments sequentially. Microsoft® Smooth Streaming (MSS) and Adobe® HTTP Dynamic Streaming (HDS) use a template URL in which a time stamp or sequence number is used to refer to specific fragments.
Similarly, URLs may be used to identify the video fragments16 and theadditional video fragments16 in the stitchedmanifest24. In the stitchedmanifest24, the timestamps or sequence numbers of the URLs can be updated to calculate the timestamp or sequence number of the next fragment from the previous fragment. For MSS, for example, the duration of a fragment is added to its timestamp in order to compute the timestamp of the next fragment. Dynamic Adaptive Streaming over HTTP (DASH) uses a mixture of both techniques.
FIG. 2 shows a block diagram of an example embodiment of astitcher22 in accordance with the present invention. Thestitcher22 may comprise amanifest combiner30 for ingesting theasset list20, the manifest files18, and the additional manifest files18, and responding to theclient26 with a stitchedmanifest24. Themanifest combiner30 provides the stitchedmanifest24 to theclient26 in response to aclient request38. Thestitcher22 also comprises afragment proxy32 receiving arequest40 for acontent fragment16 from the client26 (as identified in the stitched manifest24) and requesting42 and receiving44 the one ormore fragments16 of the video assets from the one ormore video servers10 or the one or more content servers12 (or one or more JIT packagers14). Thefragment proxy32 then delivers the one ormore fragments16 of the video assets to theclient26 for eachsequential request40 to form one continuous video stream at theclient26 in an order specified by the stitchedmanifest24.
In an alternate embodiment as shown inFIG. 3, fragments16 with original URLs can be served directly to the client from the correspondingvideo server10,content server12, orJIT packager14. In such an example embodiment, the manifest files18 are provided to thestitcher22 for use in creating the stitchedmanifest24, and thestitcher22 receives the request for content from theclient26 and communicates this request to theservers10,12,14, which provide the requested fragments16 to the client directly. For example, such an embodiment is suitable for the case of HLS-type URL playlists, so that the URLs can be combined and played in sequence.
In a further example embodiment of the present invention, a new URL may be created for eachvideo fragment16 and eachadditional video fragment16. Adatabase34 and/or a fixed mapping algorithm36 (as shown inFIG. 2) may provided at thestitcher22 associating the new URL with an original URL for eachvideo fragment16 andadditional video fragment16. The new URLs for the video fragments16 and additional video fragments16 may be combined on the stitchedmanifest24. In such an example embodiment, when a request is received from aclient26 for one of the new URLs at thestitcher22, the original URL associated with the new URL is identified at thestitcher22 using thedatabase34 and/or themapping algorithm36, and thevideo fragment16 oradditional video fragment16 corresponding to the identified new URL is requested from a source (e.g., a correspondingvideo server10,content server12, or JIT packager14) via thestitcher22.
This allows all URLs in the stitchedmanifest24 to have the same format and to refer to the same server and path namespace. This has the advantage that it is not readily possible to differentiate (and thus excise) advertisement URLs from the network program URLs in order to allow advertisements to be skipped.
The video fragments16 and additional video fragments16 may be delivered using one of Microsoft® Smooth Streaming (MSS), Adobe® HTTP Dynamic Streaming (HDS), or Dynamic Adaptive Streaming over HTTP (DASH) protocols. The video programs and the additional video content files may also be delivered using HTTP Live Streaming protocol. The stitchedmanifest24 may combine the URLs of the video fragments16 and theadditional video fragments16 in sequence for sequential playback at theclient26.
Normally, the URLs for different assets using HDS- or MSS-type URLs have different name spaces. That is, the path portion of the URL is different. This makes playing different assets contiguously impossible, since theclient26 will not know when to stop updating timestamps or sequence numbers and to change namespaces. However, thestitcher22 can map the path portion (or any other portion of the URL) using itsinternal database34, so that a single namespace in the stitchedmanifest24 is converted into internal requests from multiple namespaces. Thestitcher22 effectively serves as a proxy that returns withsequential fragments16 from multiple assets based on a manifest24 with just one name space.
Where the URLs are timestamp-based, each of the video fragments16 or theadditional video fragments16 have a corresponding timestamp. In the case of timestamp-based URLs, theclient26 will use a fragment's duration to compute the next timestamp. Thus, the stitchedplaylist24 must use consistent timestamps that account for the duration of eachfragment16. In such an example embodiment, thestitcher22 may provide modified timestamps to each new URL. The timestamps of the new URLs may be modified to account for a duration of aprevious video fragment16 oradditional video fragment16.
In particular, if the asset A1in theasset list20 has time stamps, T1,1, . . . , T1,N1, with asset A2 having time stamps T2,1, . . . , T2,N2, etc, then the stitchedplaylist24 will have timestamps:
T1,1,,T1,N1,[--firstasset-]((T2,2-T2,1)+T1,N1),((T2,3-T2,1)+T1,N1),,(T2,N2-T2,1)+T1,N1)[---------secondasset-------------------],,
The first term of the timestamps for the second asset ensures that adding the duration of the first fragment of asset A2to the last time stamp of the last fragment of asset A1will create the timestamp for the first asset of A2, etc.
Where the URLs are sequence number-based URLs, each of the video fragments16 or theadditional video fragments16 having a corresponding sequence number. In such an example embodiment, thestitcher22 may provide modified sequence numbers to each new URL. The sequence numbers of the new URLs may be modified to increase with each of thefragments16 of the one or more video assets identified on the stitchedmanifest24 in sequential order of playback. Thestitcher22 maps (e.g., via the mapping algorithm36) the modified sequence numbers to the original sequence numbers to enable retrieval of the requested content.
Thestitcher22 may also combine sub-portions of programs by selecting a portion of the manifest18 for an asset for inclusion in the stitchedmanifest24. The sub-portion can be defined by start and stop timestamps or sequence numbers, or by selecting a subset of the URLs in an HLS-style manifest.
In a further example embodiment, the additional video content files provided by thecontent servers12 may comprise advertisements (in particular, targeted advertisements).FIG. 4 shows a block diagram of such an example embodiment of the invention. A placeholder may be provided in theasset list20 in place of information identifying the additional video content. Upon receipt of a request for a stitchedmanifest24 from theclient26, a specific advertisement may be selected for communication to theclient26 that is related to the client or the one or more video assets subject to the request. The stitchedmanifest24 is then created by substituting identification information for the specific advertisement into theasset list20 in place of the placeholder. The stitchedmanifest24 is then provided to theclient26 in response to the request for the stitched manifest. The stitchedmanifest24 is then used by theclient26 to play back the requested video asset and the specific advertisement.
In particular, as shown inFIG. 4, a placement opportunity information server/ad decision server (POIS/ADS)50 is used to serve ad decisions toplaylist servers52. Theplaylist servers52 may be used to serve the stitched manifests24 to theclient26 in response to the client request, and to convert the placeholders in the stitchedmanifest24 into specific advertisement identification information obtained from the POIS/ADS50. When aclient26 makes a request for a stitchedmanifest24, theplaylist server52 connects to theADS50, requests specific ads for theclient26 and the content that is to be viewed, converts the advertisement placeholders into requests for specific assets, fetches the stitchedmanifest24 and returns it to theclient26. Theclient26 then plays back the content by making requests directly to thestitcher22 based on the URLs in the stitchedmanifest24. A content management system (CMS)54 may be used to store the asset lists20 and templates for the asset lists20 (an asset list template may be an asset list with a placeholder for an advertisement).
Amanagement system56 may be provided to manage and integrate the components of the system. Anencryption key server58 may be used with theJIT packager14 to encrypt thefragments16. Content may be provided directly by the JIT packager(s)14 or fromvideo servers10 andcontent servers12 through theJIT packagers14. Communication with the client(s)26 may take place over a content delivery network (CDN)60.
In accordance with a further example embodiment of the present invention, efficient load balancing is provided. Normally, video servers that service large numbers of clients (as may be expected to be the case at video service providers that offer VOD service) must be load balanced to deal with the large number of HTTP requests made by large numbers of clients connecting simultaneously. Using the architecture described herein has the advantage that only the low bandwidth-usingplaylist servers52 need to be load balanced. Theplaylist servers52 can then load balance thestitchers22 and/orJIT Packagers14 as is shown inFIG. 4. It should be noted that the bulk of utilized bandwidth is in the delivery of the fragments, and the onus of load balancing this traffic is eliminated.
In such a load balancing example embodiment, a plurality ofstitchers22 may be provided in a video-on-demand system.Multiple playlist servers52 may be provided to serve the stitchedmanifest24 toclients26. Load information may be passed from thestitchers22 to theplaylist servers52. Load balancing of high-bandwidth-usingstitchers22 may be achieved by enabling the low-bandwidth-using and externally load-balanced playlist servers52 to select a lightly loadedstitcher22 from the plurality ofstitchers22 for delivery of the one or more video assets.
Another example embodiment of the present invention enables unique watermarking technique. In such an example embodiment, two versions of each video asset may be provided to thestitcher22, where thefragments16 of each version may have a different watermark embedded therein. A unique sequence may then be created comprised of watermarked fragments from the two versions of the watermarked video assets at thestitcher22 in order to send a different unique sequence to eachclient26. The client's IP address or other identifying information may be encoded in the unique sequence.
FIG. 5 shows a block diagram of an example embodiment of such a watermarking embodiment. Thecontent70 is subject to anexternal watermarking process72 and different watermarked versions of the content70 (or fragments of the content70) are stored at one or more video servers orcontent servers74. As with the embodiments discussed above, the fragments of the watermarkedcontent70 are identified in amanifest file18 provided to thestitcher22, which creates the unique sequence of watermarked fragments in response to the client request for content.
There are multiple techniques for adding so-called ‘watermarks’ to video, audio, and transport data. These watermarks are designed to not interfere with the data in which they are embedded, but to be extractable later. The specific method of watermarking is not important to the present invention; any of a myriad of different techniques can be used.
Content owners use watermarks as a deterrent to piracy, since pirated content can be traced back to the user that distributed it by extracting the user-specific watermark in the content. However, creating a watermark for each user can be computationally demanding. The present invention provides a method for using only two different watermarks and thestitcher22 to create individually targeted watermarks for effectively arbitrarily many different users.
More particularly, an asset may be watermarked twice using two different watermarks. The fragments from each version of the watermarkedcontent70 are aligned so that they start and stop at the same frames. Thestitcher22 may be used to selectfragments16 from each version in such a way as to create a unique sequence of alternate versions that can be used to identify the receivingclient26. The alternating fragments can be used to encode the client's IP address or other identifying information. It should be noted that a specific advantage of this technique is that the “0” and “1” chunks can be cached in a CDN, which is not normally the case with watermarks that target specific users.
It should now be appreciated that the present invention provides advantageous methods and apparatus for combining different assets for continuous playback in a streaming video signal.
Although the invention has been described in connection with various illustrated embodiments, numerous modifications and adaptations may be made thereto without departing from the spirit and scope of the invention as set forth in the claims.

Claims (19)

What is claimed is:
1. A method for combining assets for a streaming video signal in a video-on-demand environment, comprising:
providing, for each of a plurality of video programs, several versions of each of the video programs comprised of sets of fragmented files pre-encoded at correspondingly different bit rates, codecs or resolutions in an adaptive bit rate format, each set of the fragmented files being identified in a corresponding manifest file;
providing, for each of a plurality of additional video content files, several versions of each of the additional video content files comprised of sets of fragmented files pre-encoded at correspondingly different bit rates, codecs or resolutions in an adaptive bit rate format, each set of the fragmented files of the additional video content files being identified in a corresponding additional manifest file;
the manifest files and the additional manifest files identifying a source location of the corresponding sets of video fragments and additional video fragments;
providing an asset list identifying the video programs and the additional video content files as video assets;
providing a stitcher for ingesting the asset list, the manifest files, and the additional manifest files and responding with a stitched manifest, the stitched manifest comprising identifiers for one or more of the video fragments or the additional video fragments of one or more of the video assets;
providing the stitched manifest to a client in response to a client request for the stitched manifest; and
using said stitched manifest at the client to request the one or more fragments of the video assets in sequence for sequential playback as one continuous video stream in an order specified by the stitched manifest;
the identifiers comprising uniform resource locators (URLs) which are used to identify the video fragments and the additional video fragments in the stitched manifest;
creating a new URL for each video fragment and each additional video fragment;
creating one of a database or a fixed mapping associating the new URL with an original URL for each video fragment and additional video fragment;
combining the new URLs for the video fragments and additional video fragments on the stitched manifest;
receiving the client request at the stitcher;
identifying the original URL associated with the new URL at the stitcher; and
requesting the video fragment or additional video fragment corresponding to the identified new URL from the source location via the stitcher.
2. A method in accordance withclaim 1, wherein:
the one or more video assets are provided to the client using just-in-time packaging;
a just-in-time packager provides the manifest files, the additional manifest files, and the asset list to the stitcher; and
the just-in-time packager provides the one or more video assets in response to the client request for the one or more fragments of the video assets.
3. A method in accordance withclaim 1, wherein the additional video content files comprise at least one of advertisements, movie previews, public service announcements, movie ratings information, additional video programs, movie or video pre-rolls, or programs from different video assets that are desired to be played in sequence.
4. A method in accordance withclaim 1, wherein:
the video programs and the additional video content files are delivered using HTTP Live Streaming protocol; and
the stitched manifest combines the URLs of the video fragments and the additional video fragments in sequence for sequential playback at the client.
5. A method in accordance withclaim 1, wherein:
the video programs and additional video content files are delivered using HTTP Live Streaming protocol; and
the stitched manifest combines the new URLs of the video fragments and the additional video fragments in sequence for sequential playback at the client.
6. A method in accordance withclaim 1, wherein:
the video fragments and additional video fragments are delivered using one of Microsoft® Smooth Streaming (MSS), Adobe® HTTP Dynamic Streaming (HDS), or Dynamic Adaptive Streaming over HTTP (DASH) protocols.
7. A method in accordance withclaim 6, wherein:
the URLs are timestamp-based, each of the video fragments or the additional video fragments having a corresponding timestamp;
the stitcher provides modified timestamps to each new URL; and
the timestamps of the new URLs are modified to account for a duration of a previous video fragment or additional video fragment.
8. A method in accordance withclaim 6, wherein:
the URLs are sequence number-based URLs, each of the video fragments or the additional video fragments having a corresponding sequence number;
the stitcher provides modified sequence numbers to each new URL;
the sequence numbers of the new URLs are modified to increase with each of the fragments of the one or more video assets identified on the stitched manifest in sequential order of playback; and
the stitcher maps the modified sequence numbers to the original sequence numbers to enable retrieval of the requested content.
9. A method in accordance withclaim 1, wherein the additional video content files comprise advertisements, further comprising:
providing a placeholder in the asset list in place of information identifying the additional video content;
upon receipt of the request for the stitched manifest from the client, selecting a specific advertisement for communication to the client that is related to the client or the one or more video assets subject to the request;
creating the stitched manifest by substituting identification information for the specific advertisement into the asset list in place of the placeholder;
providing the stitched manifest to the client in response to the request for the stitched manifest; and
using the stitched manifest by the client to play back the requested video asset and the specific advertisement.
10. A method in accordance withclaim 1, further comprising:
providing a plurality of stitchers in a video-on-demand system;
providing playlist servers to serve the stitched manifest to clients;
passing load information from the stitchers to the playlist servers; and
load balancing high-bandwidth-using stitchers by enabling the low-bandwidth-using and externally load-balanced playlist servers to select a lightly loaded stitcher from the plurality of stitchers for delivery of the one or more video assets.
11. A method in accordance withclaim 1, further comprising:
providing two versions of each video asset to the stitcher, the fragments of each version having a different watermark embedded therein; and
creating a unique sequence comprised of watermarked fragments from the two versions of the watermarked video assets at the stitcher in order to send a different unique sequence to each client.
12. A method in accordance withclaim 11, further comprising:
encoding the client's IP address or other identifying information in the unique sequence.
13. A method for combining video assets for a streaming video signal in a video-on-demand environment, comprising:
providing, for each of a plurality of video assets, several versions of each of the video assets pre-encoded at correspondingly different bit rates, codecs or resolutions in an adaptive bit rate format, said video assets comprising fragments of various types of video content;
creating a stitched manifest comprising identifiers for a combination of different video assets from the plurality of video assets in response to a client request for the different video assets;
providing the stitched manifest to a client in response to the client request; and
using said stitched manifest at the client to request the combination of the different video assets in sequence for sequential playback as one continuous video stream in an order specified by the stitched manifest;
the identifiers comprising uniform resource locators (URLs) which are used to identify the video assets in the stitched manifest;
creating a new URL for each video asset;
creating one of a database or a fixed mapping associating the new URL with an original URL for each video asset;
combining the new URLs for the video assets on the stitched manifest;
identifying the original URLs associated with the new URLs; and
and requesting the video assets corresponding to the identified new URLs from a source location.
14. An apparatus for combining assets for a streaming video signal in a video distribution environment, wherein:
one or more video servers store, for each of a plurality of video programs, several versions of each of the video programs comprised of sets of fragmented files pre-encoded at correspondingly different bit rates, codecs or resolutions in an adaptive bit rate format, each set of the fragmented files being identified in a corresponding manifest file stored together therewith;
one or more content servers store, for each of a plurality of additional video content files, several versions of each of the additional video content files comprised of sets of fragmented files pre-encoded at correspondingly different bit rates, codecs or resolutions in an adaptive bit rate format, each set of the fragmented files of the additional video content files being identified in a corresponding additional manifest file stored together therewith;
the manifest files and the additional manifest files identify a source location of the corresponding sets of video fragments and additional video fragments;
an asset list identifies the video programs and the additional video content files as video assets;
the comprises apparatus comprising:
a manifest combiner for ingesting the asset list, the manifest files, and the additional manifest files and responding with a stitched manifest, the stitched manifest comprising identifiers for one or more of the video fragments or the additional video fragments of one or more of the video assets;
the manifest combiner providing the stitched manifest to a client in response to a client request for the stitched manifest, the stitched manifest being used at the client to request the one or more fragments of the video assets for playback; and
a fragment proxy for obtaining the one or more fragments of the video assets from the one or more video servers or the one or more content servers and delivering the one or more fragments of the video assets in sequence to the client for sequential playback as one continuous video stream in an order specified by the stitched manifest; wherein: the identifiers comprise uniform resource locators (URLs) which are used to identify the video fragments and the additional video fragments in the stitched manifest;
a new URL is created for each video fragment and each additional video fragment;
the apparatus further comprises one of an additional database or a fixed mapping associating the new URL with an original URL for each video fragment and additional video fragment;
the manifest combiner combines the new URLs for the video fragments and additional video fragments on the stitched manifest;
a client request is received at the fragment proxy;
the fragment proxy identifies the original URL associated with the new URL via communications with the additional database or the fixed mapping;
and the fragment proxy requests the video fragment or additional video fragment corresponding to the identified new URL from the one or more video servers or from the one or more content servers.
15. An apparatus in accordance withclaim 14, wherein:
the URLs are timestamp-based, each of the video fragments or the additional video fragments having a corresponding timestamp;
modified timestamps are provided to each new URL; and
the timestamps of the new URLs are modified to account for a duration of a previous video fragment or additional video fragment.
16. An apparatus in accordance withclaim 14, wherein:
the URLs are sequence number-based URLs, each of the video fragments or the additional video fragments having a corresponding sequence number;
modified sequence numbers are provided to each new URL;
the sequence numbers of the new URLs are modified to increase with each of the fragments of the one or more video assets identified on the stitched manifest in sequential order of playback; and
the additional database or the fixed mapping maps the modified sequence numbers to the original sequence numbers to enable retrieval of the requested content.
17. An apparatus in accordance withclaim 14, wherein:
a plurality of the apparatus for combining assets for a streaming video signal are provided in a video-on-demand system;
playlist servers are provided to serve the stitched manifest to clients;
load information is passed from each of the apparatus to the playlist servers; and
high-bandwidth-using apparatus are load balanced by enabling the low-bandwidth-using and externally load-balanced playlist servers to select a lightly loaded apparatus from the plurality of apparatus for delivery of the one or more video assets.
18. An apparatus in accordance withclaim 14, wherein:
two versions of each video asset are provided to the apparatus, the fragments of each version having a different watermark embedded therein; and
a unique sequence is created at the apparatus comprised of watermarked fragments from the two versions of the watermarked video assets in order to send a different unique sequence to each client.
19. An apparatus in accordance withclaim 14, wherein:
the additional video content files comprise advertisements;
a placeholder is provided in the asset list in place of information identifying the additional video content;
upon receipt of the request for a stitched manifest from the client, a specific advertisement is selected for communication to the client that is related to the client or the one or more video assets subject to the request;
the stitched manifest is created by substituting identification information for the specific advertisement into the asset list in place of the placeholder;
the stitched manifest is provided to the client in response to the request for the stitched manifest; and
the stitched manifest is used by the client to play back the requested video asset and the specific advertisement.
US13/826,4212012-06-112013-03-14Targeted high-value content in HTTP streaming video on demandActiveUS8887215B2 (en)

Priority Applications (3)

Application NumberPriority DateFiling DateTitle
US13/826,421US8887215B2 (en)2012-06-112013-03-14Targeted high-value content in HTTP streaming video on demand
CN201310146002.7ACN103491457B (en)2012-06-112013-04-24For combining the method and apparatus of the assets for streaming video signal
IL226420AIL226420A (en)2012-06-112013-05-19Targeted high-value content in http streaming video on demand

Applications Claiming Priority (2)

Application NumberPriority DateFiling DateTitle
US201261658036P2012-06-112012-06-11
US13/826,421US8887215B2 (en)2012-06-112013-03-14Targeted high-value content in HTTP streaming video on demand

Publications (2)

Publication NumberPublication Date
US20130332971A1 US20130332971A1 (en)2013-12-12
US8887215B2true US8887215B2 (en)2014-11-11

Family

ID=49716370

Family Applications (1)

Application NumberTitlePriority DateFiling Date
US13/826,421ActiveUS8887215B2 (en)2012-06-112013-03-14Targeted high-value content in HTTP streaming video on demand

Country Status (3)

CountryLink
US (1)US8887215B2 (en)
CN (1)CN103491457B (en)
IL (1)IL226420A (en)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20140143437A1 (en)*2012-11-162014-05-22Adobe Systems IncorporatedConverting Live Streaming Content to Video-on-Demand Streaming Content
US20150135071A1 (en)*2013-11-122015-05-14Fox Digital Entertainment, Inc.Method and apparatus for distribution and presentation of audio visual data enhancements
US20150371280A1 (en)*2014-06-242015-12-24Arris Enterprises, Inc.Tracking ad preferences in adaptive bit rate systems
WO2017197001A1 (en)*2016-05-102017-11-16Google LlcSystem for video playback using a server generated manifest
US20180137208A1 (en)*2016-11-142018-05-17Cisco Technology, Inc.Method and device for sharing segmented video content across multiple manifests
US10595054B2 (en)2016-05-102020-03-17Google LlcMethod and apparatus for a virtual online video channel
US10638179B2 (en)2015-08-062020-04-28At&T Intellectual Property I, L.P.Content insertion in streaming media content
EP3284239B1 (en)*2015-04-172020-06-03Telefonaktiebolaget LM Ericsson (PUBL)Dynamic packager network based abr media distribution and delivery
US10750216B1 (en)2016-05-102020-08-18Google LlcMethod and apparatus for providing peer-to-peer content delivery
US10750248B1 (en)2016-05-102020-08-18Google LlcMethod and apparatus for server-side content delivery network switching
US10771824B1 (en)2016-05-102020-09-08Google LlcSystem for managing video playback using a server generated manifest/playlist
US10779040B2 (en)2018-09-202020-09-15At&T Intellectual Property I, L.P.Method and system to reduce network bandwidth usage for video streaming
US11032588B2 (en)2016-05-162021-06-08Google LlcMethod and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback
US11039181B1 (en)2016-05-092021-06-15Google LlcMethod and apparatus for secure video manifest/playlist generation and playback
US11069378B1 (en)2016-05-102021-07-20Google LlcMethod and apparatus for frame accurate high resolution video editing in cloud using live video streams
US11184652B2 (en)*2017-09-082021-11-23Opentv, Inc.Bitrate and pipeline preservation for content presentation
US11386262B1 (en)2016-04-272022-07-12Google LlcSystems and methods for a knowledge-based form creation platform
US11425440B2 (en)2018-12-102022-08-23At&T Intellectual Property I, L.P.Video streaming control

Families Citing this family (114)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9456054B2 (en)2008-05-162016-09-27Palo Alto Research Center IncorporatedControlling the spread of interests and content in a content centric network
US8923293B2 (en)2009-10-212014-12-30Palo Alto Research Center IncorporatedAdaptive multi-interface use for content networking
US9749136B2 (en)*2012-02-242017-08-29Comcast Cable Communications, LlcMethod for watermarking content
US9438883B2 (en)*2012-04-092016-09-06Intel CorporationQuality of experience reporting for combined unicast-multicast/broadcast streaming of media content
CN103379101A (en)*2012-04-202013-10-30腾讯科技(深圳)有限公司Watermark generation method, client side and server
US9432711B2 (en)*2012-11-192016-08-30John D. SteinbergSystem and method for creating customized, multi-platform video programming
CN104937949B (en)*2012-11-262019-10-18爱迪德技术有限公司 Method and system for obtaining a version of a content item
US11223510B2 (en)*2013-03-142022-01-11Comcast Cable Communications, LlcMethods and systems for dynamic data management
US9973559B2 (en)*2013-05-292018-05-15Avago Technologies General Ip (Singapore) Pte. Ltd.Systems and methods for presenting content streams to a client device
US10326805B2 (en)*2013-05-312019-06-18Avago Technologies International Sales Pte. LimitedDistributed adaptive bit rate proxy system
US9445060B2 (en)*2013-07-032016-09-13Broadcom CorporationLayered locally cached content transcoding system
US10098051B2 (en)2014-01-222018-10-09Cisco Technology, Inc.Gateways and routing in software-defined manets
US9954678B2 (en)2014-02-062018-04-24Cisco Technology, Inc.Content-based transport security
US9836540B2 (en)2014-03-042017-12-05Cisco Technology, Inc.System and method for direct storage access in a content-centric network
US9626413B2 (en)2014-03-102017-04-18Cisco Systems, Inc.System and method for ranking content popularity in a content-centric network
US9716622B2 (en)2014-04-012017-07-25Cisco Technology, Inc.System and method for dynamic name configuration in content-centric networks
US9992281B2 (en)*2014-05-012018-06-05Cisco Technology, Inc.Accountable content stores for information centric networks
US9609014B2 (en)2014-05-222017-03-28Cisco Systems, Inc.Method and apparatus for preventing insertion of malicious content at a named data network router
US9692800B2 (en)*2014-06-112017-06-27Google Inc.Enhanced streaming media playback
US9699198B2 (en)2014-07-072017-07-04Cisco Technology, Inc.System and method for parallel secure content bootstrapping in content-centric networks
US9621354B2 (en)2014-07-172017-04-11Cisco Systems, Inc.Reconstructable content objects
US9729616B2 (en)2014-07-182017-08-08Cisco Technology, Inc.Reputation-based strategy for forwarding and responding to interests over a content centric network
US9590887B2 (en)2014-07-182017-03-07Cisco Systems, Inc.Method and system for keeping interest alive in a content centric network
US20160037176A1 (en)*2014-07-302016-02-04Arris Enterprises, Inc.Automatic and adaptive selection of profiles for adaptive bit rate streaming
US9882964B2 (en)2014-08-082018-01-30Cisco Technology, Inc.Explicit strategy feedback in name-based forwarding
US9729662B2 (en)2014-08-112017-08-08Cisco Technology, Inc.Probabilistic lazy-forwarding technique without validation in a content centric network
US9800637B2 (en)*2014-08-192017-10-24Cisco Technology, Inc.System and method for all-in-one content stream in content-centric networks
US9467492B2 (en)*2014-08-192016-10-11Palo Alto Research Center IncorporatedSystem and method for reconstructable all-in-one content stream
US9621938B2 (en)*2014-09-102017-04-11Ericsson AbAdvertisement targeting scheme in a multicast ABR environment based on switched video
US10069933B2 (en)2014-10-232018-09-04Cisco Technology, Inc.System and method for creating virtual interfaces based on network characteristics
US10142386B2 (en)2014-10-292018-11-27DLVR, Inc.Determining manifest file data used in adaptive streaming video delivery
US9509742B2 (en)2014-10-292016-11-29DLVR, Inc.Configuring manifest files referencing infrastructure service providers for adaptive streaming video
US9426089B2 (en)2014-10-292016-08-23DLVR, Inc.Systems and methods for session-based resource assignment, delivery, performance management and measurement in a networked environment
US10084838B2 (en)2014-10-292018-09-25DLVR, Inc.Generating and using manifest files including content delivery network authentication data
US9590948B2 (en)2014-12-152017-03-07Cisco Systems, Inc.CCN routing using hardware-assisted hash tables
US10237189B2 (en)2014-12-162019-03-19Cisco Technology, Inc.System and method for distance-based interest forwarding
US10003520B2 (en)2014-12-222018-06-19Cisco Technology, Inc.System and method for efficient name-based content routing using link-state information in information-centric networks
US9660825B2 (en)2014-12-242017-05-23Cisco Technology, Inc.System and method for multi-source multicasting in content-centric networks
US20160191961A1 (en)*2014-12-312016-06-30Imagine Communications Corp.Fragmented video transcoding systems and methods
US9916457B2 (en)2015-01-122018-03-13Cisco Technology, Inc.Decoupled name security binding for CCN objects
US9946743B2 (en)2015-01-122018-04-17Cisco Technology, Inc.Order encoded manifests in a content centric network
US9832291B2 (en)2015-01-122017-11-28Cisco Technology, Inc.Auto-configurable transport stack
US9954795B2 (en)2015-01-122018-04-24Cisco Technology, Inc.Resource allocation using CCN manifests
US10333840B2 (en)2015-02-062019-06-25Cisco Technology, Inc.System and method for on-demand content exchange with adaptive naming in information-centric networks
CN106982376B (en)*2016-01-182019-07-19上海交通大学 A timeline control method for personalized presentation of multimedia content
CN106341740B (en)*2015-07-092019-04-26上海交通大学 A kind of realization method of multimedia content classification technology
US10433029B2 (en)*2015-02-132019-10-01Shanghai Jiao Tong UniversityImplemental method and application of personalized presentation of associated multimedia content
US10075401B2 (en)2015-03-182018-09-11Cisco Technology, Inc.Pending interest table behavior
US9276983B2 (en)*2015-05-012016-03-01Amazon Technologies, Inc.Content delivery network video content invalidation through adaptive bitrate manifest manipulation
US10075402B2 (en)2015-06-242018-09-11Cisco Technology, Inc.Flexible command and control in content centric networks
US10701038B2 (en)2015-07-272020-06-30Cisco Technology, Inc.Content negotiation in a content centric network
US9986034B2 (en)2015-08-032018-05-29Cisco Technology, Inc.Transferring state in content centric network stacks
US9832123B2 (en)2015-09-112017-11-28Cisco Technology, Inc.Network named fragments in a content centric network
US10355999B2 (en)2015-09-232019-07-16Cisco Technology, Inc.Flow control with network named fragments
US9977809B2 (en)2015-09-242018-05-22Cisco Technology, Inc.Information and data framework in a content centric network
US10313227B2 (en)2015-09-242019-06-04Cisco Technology, Inc.System and method for eliminating undetected interest looping in information-centric networks
US10454820B2 (en)2015-09-292019-10-22Cisco Technology, Inc.System and method for stateless information-centric networking
US9961377B1 (en)*2015-10-122018-05-01The Directv Group, Inc.Systems and methods for providing advertisements to point of presence devices including mapping different types of advertisement messages of respective content providers
US10263965B2 (en)2015-10-162019-04-16Cisco Technology, Inc.Encrypted CCNx
US20180367591A1 (en)*2015-11-102018-12-20Edgeware AbSynchronizing segment boundaries across multiple streams
US9912776B2 (en)2015-12-022018-03-06Cisco Technology, Inc.Explicit content deletion commands in a content centric network
CN105915945A (en)*2015-12-082016-08-31乐视云计算有限公司Content distribution method used for CDN platform and scheduling proxy server thereof
US20170164020A1 (en)*2015-12-082017-06-08Le Holdings (Beijing) Co., Ltd.Content delivery method for content delivery network platform and scheduling proxy server
US10097346B2 (en)2015-12-092018-10-09Cisco Technology, Inc.Key catalogs in a content centric network
US9426543B1 (en)*2015-12-182016-08-23Vuclip (Singapore) Pte. Ltd.Server-based video stitching
US10257271B2 (en)2016-01-112019-04-09Cisco Technology, Inc.Chandra-Toueg consensus in a content centric network
US10305864B2 (en)2016-01-252019-05-28Cisco Technology, Inc.Method and system for interest encryption in a content centric network
EP3412032A1 (en)2016-02-022018-12-12Fraunhofer Gesellschaft zur Förderung der AngewandScene section and region of interest handling in video streaming
US10043016B2 (en)2016-02-292018-08-07Cisco Technology, Inc.Method and system for name encryption agreement in a content centric network
US10742596B2 (en)2016-03-042020-08-11Cisco Technology, Inc.Method and system for reducing a collision probability of hash-based names using a publisher identifier
US10051071B2 (en)2016-03-042018-08-14Cisco Technology, Inc.Method and system for collecting historical network information in a content centric network
US10003507B2 (en)2016-03-042018-06-19Cisco Technology, Inc.Transport session state protocol
US10264099B2 (en)2016-03-072019-04-16Cisco Technology, Inc.Method and system for content closures in a content centric network
US10067948B2 (en)2016-03-182018-09-04Cisco Technology, Inc.Data deduping in content centric networking manifests
US10091330B2 (en)2016-03-232018-10-02Cisco Technology, Inc.Interest scheduling by an information and data framework in a content centric network
US10009642B2 (en)*2016-03-242018-06-26Comcast Cable Communications Management, LlcSystems and methods for advertising continuity
US10320760B2 (en)2016-04-012019-06-11Cisco Technology, Inc.Method and system for mutating and caching content in a content centric network
US9930146B2 (en)2016-04-042018-03-27Cisco Technology, Inc.System and method for compressing content centric networking messages
US10425503B2 (en)2016-04-072019-09-24Cisco Technology, Inc.Shared pending interest table in a content centric network
US10063414B2 (en)2016-05-132018-08-28Cisco Technology, Inc.Updating a transport stack in a content centric network
US10701040B2 (en)*2016-05-232020-06-30Amazon Technologies, Inc.Protecting content-stream portions from modification or removal
US10103989B2 (en)2016-06-132018-10-16Cisco Technology, Inc.Content object return messages in a content centric network
US10305865B2 (en)2016-06-212019-05-28Cisco Technology, Inc.Permutation-based content encryption with manifests in a content centric network
US10148572B2 (en)2016-06-272018-12-04Cisco Technology, Inc.Method and system for interest groups in a content centric network
WO2018002369A1 (en)*2016-07-012018-01-04Nagravision S.A.Traitor tracing
US10009266B2 (en)2016-07-052018-06-26Cisco Technology, Inc.Method and system for reference counted pending interest tables in a content centric network
US9992097B2 (en)2016-07-112018-06-05Cisco Technology, Inc.System and method for piggybacking routing information in interests in a content centric network
US10122624B2 (en)2016-07-252018-11-06Cisco Technology, Inc.System and method for ephemeral entries in a forwarding information base in a content centric network
US10069729B2 (en)2016-08-082018-09-04Cisco Technology, Inc.System and method for throttling traffic based on a forwarding information base in a content centric network
US10956412B2 (en)2016-08-092021-03-23Cisco Technology, Inc.Method and system for conjunctive normal form attribute matching in a content centric network
US10033642B2 (en)2016-09-192018-07-24Cisco Technology, Inc.System and method for making optimal routing decisions based on device-specific parameters in a content centric network
US10212248B2 (en)2016-10-032019-02-19Cisco Technology, Inc.Cache management on high availability routers in a content centric network
US10447805B2 (en)2016-10-102019-10-15Cisco Technology, Inc.Distributed consensus in a content centric network
CN106488259B (en)*2016-10-252019-09-06上海网达软件股份有限公司A kind of joining method and system of HLS Streaming Media fragment
US10135948B2 (en)2016-10-312018-11-20Cisco Technology, Inc.System and method for process migration in a content centric network
US10243851B2 (en)2016-11-212019-03-26Cisco Technology, Inc.System and method for forwarder connection information in a content centric network
US10142684B2 (en)*2017-03-212018-11-27Cisco Technology, Inc.Pinning encryption metadata to segment URIs
US10757453B2 (en)2017-09-132020-08-25Amazon Technologies, Inc.Distributed multi-datacenter video packaging system
US11032625B2 (en)2018-02-032021-06-08Irdeto B.V.Method and apparatus for feedback-based piracy detection
US10638173B2 (en)*2018-02-032020-04-28Irdeto B.V.Method and apparatus for session-based watermarking of streamed content
US10609189B2 (en)*2018-02-192020-03-31Verizon Digital Media Services Inc.Seamless stream failover with distributed manifest generation
WO2019211237A1 (en)2018-04-302019-11-07Dolby International AbMethods and systems for streaming media data over a content delivery network
US10965966B1 (en)*2018-07-172021-03-30Amazon Technologies, Inc.Dynamic content insertion
US10951960B1 (en)*2018-07-172021-03-16Amazon Technologies, Inc.Dynamic content insertion
US10419786B1 (en)*2018-07-202019-09-17Fubotv Inc.Systems and methods for securely generating live previews
CN109040811A (en)*2018-08-162018-12-18北京奇艺世纪科技有限公司A kind of video broadcasting method and device
US10904595B2 (en)*2018-08-212021-01-26Prime Focus Technologies, Inc.System and method for just in time embedded watermarking of streaming proxies
US10986149B2 (en)*2018-09-172021-04-20Google LlcMethods, systems, and media for delivering manifestless streaming media content
CN109688473B (en)*2018-12-072020-12-22广州市百果园信息技术有限公司Multi-video playing method, storage medium and computer equipment
US11082734B2 (en)*2018-12-212021-08-03Turner Broadcasting System, Inc.Publishing a disparate live media output stream that complies with distribution format regulations
US11234027B2 (en)*2019-01-102022-01-25Disney Enterprises, Inc.Automated content compilation
KR102134250B1 (en)*2019-08-122020-07-16네이버 주식회사Method and system for reproducing streaming content
US12439112B2 (en)*2022-08-162025-10-07Samsung Electronics Co., Ltd.Electronic apparatus for content playback and method for controlling thereof
US20250133243A1 (en)*2023-10-202025-04-24Pluto Inc.Methods and systems for client-side stitcher of streaming video content

Citations (11)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20110004897A1 (en)*2009-07-022011-01-06Tandberg Television Inc.Centralized content management system for managing distribution of packages to video service providers
US20110161409A1 (en)*2008-06-022011-06-30Azuki Systems, Inc.Media mashup system
US20110161086A1 (en)*2009-11-042011-06-30Rodriguez Tony FOrchestrated Encoding and Decoding
US20120005365A1 (en)*2009-03-232012-01-05Azuki Systems, Inc.Method and system for efficient streaming video dynamic rate adaptation
US20120079529A1 (en)*2010-09-292012-03-29Verizon Patent And Licensing, Inc.Multiple device storefront for video provisioning system
US20120179833A1 (en)*2010-06-022012-07-12Onmobile Global LimitedMethod and apparatus for adapting media
US20120236201A1 (en)*2011-01-272012-09-20In The Telling, Inc.Digital asset management, authoring, and presentation techniques
US20120265901A1 (en)*2011-04-152012-10-18Skyfire Labs, Inc.Real-Time Video Optimizer
US20120317485A1 (en)*2011-06-082012-12-13Cisco Technology, Inc.Virtual meeting video sharing
US20130163598A1 (en)*2011-12-232013-06-27Nokia CorporationEncoding Watermarks In A Sequence Of Sent Packets, The Encoding Useful For Uniquely Identifying An Entity In Encrypted Networks
US20130166906A1 (en)*2011-12-222013-06-27Viswanathan SwaminathanMethods and Apparatus for Integrating Digital Rights Management (DRM) Systems with Native HTTP Live Streaming

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
KR100607969B1 (en)*2004-04-052006-08-03삼성전자주식회사Method and apparatus for playing multimedia play list and storing media therefor
CA2675595C (en)*2007-01-172016-10-25Intertrust Technologies CorporationMethods, systems, and apparatus for fragmented file sharing
CN102196008A (en)*2010-03-082011-09-21株式会社日立制作所 Peer-to-peer download method, video device and content delivery method

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US20110161409A1 (en)*2008-06-022011-06-30Azuki Systems, Inc.Media mashup system
US20120005365A1 (en)*2009-03-232012-01-05Azuki Systems, Inc.Method and system for efficient streaming video dynamic rate adaptation
US20110004897A1 (en)*2009-07-022011-01-06Tandberg Television Inc.Centralized content management system for managing distribution of packages to video service providers
US20110161086A1 (en)*2009-11-042011-06-30Rodriguez Tony FOrchestrated Encoding and Decoding
US20120179833A1 (en)*2010-06-022012-07-12Onmobile Global LimitedMethod and apparatus for adapting media
US20120079529A1 (en)*2010-09-292012-03-29Verizon Patent And Licensing, Inc.Multiple device storefront for video provisioning system
US20120236201A1 (en)*2011-01-272012-09-20In The Telling, Inc.Digital asset management, authoring, and presentation techniques
US20120265901A1 (en)*2011-04-152012-10-18Skyfire Labs, Inc.Real-Time Video Optimizer
US20120317485A1 (en)*2011-06-082012-12-13Cisco Technology, Inc.Virtual meeting video sharing
US20130166906A1 (en)*2011-12-222013-06-27Viswanathan SwaminathanMethods and Apparatus for Integrating Digital Rights Management (DRM) Systems with Native HTTP Live Streaming
US20130163598A1 (en)*2011-12-232013-06-27Nokia CorporationEncoding Watermarks In A Sequence Of Sent Packets, The Encoding Useful For Uniquely Identifying An Entity In Encrypted Networks

Non-Patent Citations (11)

* Cited by examiner, † Cited by third party
Title
Adaptive Streaming-WHATWG Wiki, 6 pages, retrieved on Feb. 4, 2013, .
Adaptive Streaming—WHATWG Wiki, 6 pages, retrieved on Feb. 4, 2013, <URL:http://wiki.whatwg.org/wiki/Adaptive—Streaming>.
Apple Developer, HTTP Live Streaming Overview, 36 pages, Apr. 1, 2011.
HTTP Dynamic Streaming/Features, 1 page, retrieved on May 14, 2013, .
HTTP Dynamic Streaming/Features, 1 page, retrieved on May 14, 2013, <URL:http://www.adobe.com/products/hds-dynamic-streaming/features—sl—id-con . . . >.
HTTP Live Streaming Resources-Apple Developer, 2 pages, retrieved on May 14, 2013, .
HTTP Live Streaming Resources—Apple Developer, 2 pages, retrieved on May 14, 2013, <URL: https://developer.apple.com/resources/http-streaming/>.
Overview of MPEG-DASH Standard for Promotion of MPEG-DASH, 3 pages, retrieved on May 14, 2013, .
Overview of MPEG-DASH Standard for Promotion of MPEG-DASH, 3 pages, retrieved on May 14, 2013, <URL:http://dashif.org/mpeg-dash/>.
Smooth /Streaming: The Official Microsoft IIS Site, 2 pages, retrieved on May 17, 2013, .
Smooth /Streaming: The Official Microsoft IIS Site, 2 pages, retrieved on May 17, 2013, <URL:http://www.iis.net/downloads/microsoft/smooth-streaming>.

Cited By (36)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US9357239B2 (en)*2012-11-162016-05-31Adobe Systems IncorporatedConverting live streaming content to video-on-demand streaming content
US20140143437A1 (en)*2012-11-162014-05-22Adobe Systems IncorporatedConverting Live Streaming Content to Video-on-Demand Streaming Content
US10200723B2 (en)2012-11-162019-02-05Adobe Systems IncorporatedConverting live streaming content to video-on-demand streaming content
US20150135071A1 (en)*2013-11-122015-05-14Fox Digital Entertainment, Inc.Method and apparatus for distribution and presentation of audio visual data enhancements
US20150371280A1 (en)*2014-06-242015-12-24Arris Enterprises, Inc.Tracking ad preferences in adaptive bit rate systems
US11869038B2 (en)*2014-06-242024-01-09Arris Enterprises LlcTracking ad preferences in adaptive bit rate systems
EP3284239B1 (en)*2015-04-172020-06-03Telefonaktiebolaget LM Ericsson (PUBL)Dynamic packager network based abr media distribution and delivery
US11490145B2 (en)2015-08-062022-11-01At&T Intellectual Property I, L.P.Content insertion in streaming media content
US10638179B2 (en)2015-08-062020-04-28At&T Intellectual Property I, L.P.Content insertion in streaming media content
US11386262B1 (en)2016-04-272022-07-12Google LlcSystems and methods for a knowledge-based form creation platform
US11647237B1 (en)2016-05-092023-05-09Google LlcMethod and apparatus for secure video manifest/playlist generation and playback
US11039181B1 (en)2016-05-092021-06-15Google LlcMethod and apparatus for secure video manifest/playlist generation and playback
US10750248B1 (en)2016-05-102020-08-18Google LlcMethod and apparatus for server-side content delivery network switching
US12236980B1 (en)2016-05-102025-02-25Google LlcMethod and apparatus for frame accurate high resolution video editing in cloud using live video streams
US12034984B2 (en)2016-05-102024-07-09Google LlcMethod and apparatus for a virtual online video channel
US10785508B2 (en)2016-05-102020-09-22Google LlcSystem for measuring video playback events using a server generated manifest/playlist
US11877017B2 (en)2016-05-102024-01-16Google LlcSystem for measuring video playback events using a server generated manifest/playlist
US10750216B1 (en)2016-05-102020-08-18Google LlcMethod and apparatus for providing peer-to-peer content delivery
US11069378B1 (en)2016-05-102021-07-20Google LlcMethod and apparatus for frame accurate high resolution video editing in cloud using live video streams
US10771824B1 (en)2016-05-102020-09-08Google LlcSystem for managing video playback using a server generated manifest/playlist
US11785268B1 (en)2016-05-102023-10-10Google LlcSystem for managing video playback using a server generated manifest/playlist
US10595054B2 (en)2016-05-102020-03-17Google LlcMethod and apparatus for a virtual online video channel
US12294745B1 (en)2016-05-102025-05-06Google LlcSystem for managing video playback using a server generated manifest/playlist
WO2017197001A1 (en)*2016-05-102017-11-16Google LlcSystem for video playback using a server generated manifest
US11545185B1 (en)2016-05-102023-01-03Google LlcMethod and apparatus for frame accurate high resolution video editing in cloud using live video streams
US11589085B2 (en)2016-05-102023-02-21Google LlcMethod and apparatus for a virtual online video channel
US11683540B2 (en)2016-05-162023-06-20Google LlcMethod and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback
US11032588B2 (en)2016-05-162021-06-08Google LlcMethod and apparatus for spatial enhanced adaptive bitrate live streaming for 360 degree video playback
US10642917B2 (en)*2016-11-142020-05-05Triton Us Vp Acquisition Co.Method and device for sharing segmented video content across multiple manifests
US20180137208A1 (en)*2016-11-142018-05-17Cisco Technology, Inc.Method and device for sharing segmented video content across multiple manifests
US11825139B2 (en)2017-09-082023-11-21Opentv, Inc.Bitrate and pipeline preservation for content presentation
US11184652B2 (en)*2017-09-082021-11-23Opentv, Inc.Bitrate and pipeline preservation for content presentation
US12231703B2 (en)2017-09-082025-02-18Opentv, Inc.Bitrate and pipeline preservation for content presentation
US11290780B2 (en)2018-09-202022-03-29At&T Intellectual Property I, L.P.Method and system to reduce network bandwidth usage for video streaming
US10779040B2 (en)2018-09-202020-09-15At&T Intellectual Property I, L.P.Method and system to reduce network bandwidth usage for video streaming
US11425440B2 (en)2018-12-102022-08-23At&T Intellectual Property I, L.P.Video streaming control

Also Published As

Publication numberPublication date
US20130332971A1 (en)2013-12-12
CN103491457A (en)2014-01-01
CN103491457B (en)2018-02-27
IL226420A (en)2015-11-30

Similar Documents

PublicationPublication DateTitle
US8887215B2 (en)Targeted high-value content in HTTP streaming video on demand
US12389085B2 (en)Manifest customization in adaptive bitrate streaming
US12056738B2 (en)Live ad processing engine service
US10045093B2 (en)Systems and methods for securing content delivered using a playlist
USRE47612E1 (en)Adaptive ads with advertising markers
CN108702538B (en)Method and apparatus for virtual online video channels
EP3028433B1 (en)Averting ad skipping in adaptive bit rate systems
US8973032B1 (en)Advertisement insertion into media content for streaming
US20060029093A1 (en)Multimedia system over electronic network and method of use
US20120124618A1 (en)Virtual insertion of advertisements
CN108702537A (en) System for video playback using server-generated manifests
CN105049896B (en) A streaming media advertisement insertion method and system based on HLS protocol
CN102137137A (en) Method, device and system for dynamic insertion of media content based on HTTP stream
CN105409226A (en)System and method for effectively controlling client behavior in adaptive streaming
WO2020211731A1 (en)Video playing method and related device
US10638173B2 (en)Method and apparatus for session-based watermarking of streamed content
WO2015192683A1 (en)Content distribution method, device and system based on adaptive streaming technology
CN103747365B (en)Method, device and system for dynamic inter-cut of media contents based on HTTP (Hyper Text Transport Protocol) stream
CN105992022A (en)On-line recording and downloading method and system
CN107925798B (en)Receiving apparatus, transmitting apparatus, and data processing method
EP3785444B1 (en)Server-side insertion of media fragments
KR20130059259A (en)Method and apparatus for providing advertisement into streaming service
KR20190130868A (en)Method, apparatus and computer program for providing advertisement

Legal Events

DateCodeTitleDescription
ASAssignment

Owner name:RGB NETWORKS, INC., CALIFORNIA

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FISHER, YUVAL;REEL/FRAME:029999/0246

Effective date:20130313

ASAssignment

Owner name:SILICON VALLEY BANK, CALIFORNIA

Free format text:SECURITY INTEREST;ASSIGNOR:RGB NETWORKS, INC.;REEL/FRAME:033463/0440

Effective date:20140725

STCFInformation on status: patent grant

Free format text:PATENTED CASE

ASAssignment

Owner name:RGB NETWORKS, INC, CALIFORNIA

Free format text:RELEASE BY SECURED PARTY;ASSIGNOR:SILICON VALLEY BANK;REEL/FRAME:034955/0630

Effective date:20150210

ASAssignment

Owner name:IMAGINE COMMUNICATIONS CORP., TEXAS

Free format text:ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:RGB NETWORKS, INC.;REEL/FRAME:034973/0821

Effective date:20150210

CCCertificate of correction
ASAssignment

Owner name:WILMINGTON TRUST, NATIONAL ASSOCIATION, MINNESOTA

Free format text:SECURITY INTEREST;ASSIGNOR:IMAGINE COMMUNICATIONS CORPORATION (FORMERLY KNOWN AS HBC SOLUTIONS, INC.);REEL/FRAME:035275/0228

Effective date:20150312

Owner name:WILMINGTON TRUST, NATIONAL ASSOCIATION, MINNESOTA

Free format text:PATENT COLLATERAL SECURITY AGREEMENT;ASSIGNOR:IMAGINE COMMUNICATIONS CORPORATION (FORMERLY KNOWN AS HBC SOLUTIONS, INC.);REEL/FRAME:035327/0262

Effective date:20150312

ASAssignment

Owner name:PNC BANK, NATIONAL ASSOCIATION, AS AGENT, NEW JERS

Free format text:SECURITY AGREEMENT;ASSIGNOR:IMAGINE COMMUNICATIONS CORP. (F/K/A HBC SOLUTIONS, INC.);REEL/FRAME:035353/0208

Effective date:20150317

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 4TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2551)

Year of fee payment:4

ASAssignment

Owner name:BROADCAST LENDCO, LLC, AS SUCCESSOR AGENT, COLORADO

Free format text:ASSIGNMENT OF INTELLECTUAL PROPERTY SECURITY AGREEMENT;ASSIGNOR:PNC BANK, NATIONAL ASSOCIATION, AS EXISTING AGENT;REEL/FRAME:052050/0074

Effective date:20200228

MAFPMaintenance fee payment

Free format text:PAYMENT OF MAINTENANCE FEE, 8TH YR, SMALL ENTITY (ORIGINAL EVENT CODE: M2552); ENTITY STATUS OF PATENT OWNER: SMALL ENTITY

Year of fee payment:8


[8]ページ先頭

©2009-2025 Movatter.jp