Should Video Publishers Be Manipulative to Get What They Want?
The use of “fragmented” streams to deliver video, for example in OTT services, is now firmly established. Fragmented streams deliver content as a sequence of files containing short video fragments that are typically requested by a playback-client using the Web’s HTTP protocol. These fragments are then played back contiguously. By creating different bitrate/resolution fragment versions of the same content, video can be delivered at the best possible capability of the delivery network at any point in time, as the client adapts to changing throughput capacity by requesting different versions. This approach has thus come to be called adaptive bitrate (ABR) streaming, with Apple’s HLS and MPEG’s DASH protocols being the current best-known examples.
Clients know which video fragment files exist for playback by downloading a manifest that contains URLs referring to the different versions of video, so that the client can know where to access the video stream for download. The manifest may be downloaded repeatedly to inform the client of the latest available fragments; it may be downloaded just once for on-demand content in which all fragments are known in advance; or it may contain templates that can be used to create the fragment URLs programmatically, for example, by substituting fragment numbers into a formula in the URL.
Careful transformation or manipulation of these manifests can then create custom versions of streams for each client. This manipulation—performed on the relatively small manifest file in a text format—is computationally light and hence possible to do individually for each client. That means that the video playback can be tailored to each individual user.
What type of features can manifest manipulation enable? The most obvious example is ad insertion, in which individually targeted ads are delivered to each user. Targeting allows advertisers to spend less overall (but more per ad view) by sending ads to a targeted demographic sub-group of the total viewing audience, e.g., dog owners. At the same time, service providers can segment their viewers into more groups and sell ads to more advertisers, increasing their revenue. One of the most compelling aspects of manifest manipulation is that it’s computationally light and easily scalable for even large deployments. In particular, manifest manipulation is much simpler than legacy broadcast video splicing methods that require careful parsing and stitching of video at the bitstream level and do not scale to individual users.
By combining manifest manipulation with a component that can reproduce a broadcast stream from a fragmented stream, it is possible to use manifest manipulation to drive ad insertion for both (unicast) multiscreen devices and broadcast devices, such as set-top-boxes and televisions. This has the added advantage that advertising campaigns, processing, and billing can be managed in one ad-insertion silo, rather than two: one for multiscreen devices and one for broadcast devices. The resulting operational simplification and improved ad campaign reach creates a killer capability!
A second use-case for manifest manipulation is blackout, or more generally, regionalization. Some content, for example certain sporting events, cannot be shown in all markets. In that case, alternate content needs to be shown in place of the original program in some markets—and manifest manipulation is a perfect solution for that problem. Alternate content can be treated like long ads and targeted at users by location, with some getting the original programming and some getting alternate content. But blackouts are slightly different than ads in that they can be cut short or extended, and may contain ads themselves. These distinctions make careful blackout management a special and differentiating capability of manifest manipulators.
Manifest manipulation is not restricted strictly to creating alternate content of streams. A rich manifest manipulation ecosystem can facilitate many video delivery use-cases. For example, different devices can receive different subsets of the available video fragments; there’s no need to send an ultra-high-def, high-bitrate stream option to mobile devices that run on a capacity-restricted network. Since manifest manipulation is one of the last components to interact with the client, it can determine various performance metrics: Where are the clients? What types of devices are being used? How many ads are they watching? This type of data is highly valuable to service providers.
More broadly, the ability of manifest manipulation to insert metadata into manifests can be used to measure or control client behavior. This includes having the client report which ads were viewed or pop up auxiliary information. In fact, strong metadata support is a cornerstone of a state-of-the-art manifest manipulator.
What are some other features of a good manifest manipulator?
- Support for multiple formats, including HLS and DASH
- Support for multiple use-cases, such as on-demand, linear, and cloud DVR content, as well as blackouts and ad insertion
- Support for on-demand alternate content in a linear stream
- Flexible support for SCTE-35 interpretation
- Reporting and stream-control metadata carriage in the manifest
- Ability to route ad placement requests to different ad decision services
- Solid cloud deployment with a rich telemetry stream for big data aggregation
- Ability to re-process content when it’s in the wrong streaming format
- Splicing of encrypted and non-encrypted content
- Reconciliation of different of bitrate/resolutions in the inserted content
- CDN awareness that allows the manifest manipulator to direct clients to specific edge cache locations
Are there manipulation approaches that should be avoided? Yes. Some manifest manipulation ecosystems have an awkward mix of metadata delivery. For example, ad location triggers are sometimes sent in the video fragments rather than in the manifest. This requires both the video fragments and the manifests to be processed when creating targeted streams, and that’s a poor design. Metadata should always be carried in the manifest and only in the manifest, allowing it to be processed separately at low-complexity and low bandwidth use.
Manifest manipulation is a relatively new ecosystem, and it’s still evolving. Where is it headed next? We already discussed one major architecture shift: Manifest manipulation is becoming the de-facto stream splicing method for ad insertion across both multiscreen and broadcast devices. That’s part of a broad shift toward the use of fragmented video as the mezzanine format of choice for all services delivered by video service providers. But manifest manipulation will surely move upstream to the playout components. There’s no reason to originate video as a computationally expensive linear stream. Video origination should be based on manifests that can be easily regionalized and require the underlying video fragments to be processed only once or be prepositioned closer to the edge of the delivery network. This is already happening in OTT delivery, and it’s just a matter of time before traditional video delivery ecosystems follow suit.
[Editor's Note: This is a contributed article from Imagine Communications. Streaming Media accepts vendor bylines based solely on their value to our readers.]
Apple adding HEVC support to HLS this fall is a huge step forward for the codec. An announcement from MainConcept makes file creation easier.