How to Package Video for Multiscreen Delivery
Another key negative is that standards take a long time to become truly usable. With DASH, it’s not just convincing all browsers and playback platforms to support MSE, it’s making sure that all DASH files produced by all DASH encoders play in those players, which hasn’t been done. It’s also making sure that required ancillary technologies such as DRM, captioning, analytics, and advertising insertion are in place. In particular, with the Encrypted Media Extensions (EME), the entire DRM market is undergoing a significant change that could delay mass market DASH deployment until it’s resolved.
YouTube, Hulu, and Netflix are using DASH on some playback platforms, but they have the budget for custom players. They also have the ability to create their own encoders or the leverage to ensure playback compatibility from third-party vendors. They can also perform extensive compatibility testing on multiple platforms to ensure encoder/browser compatibility, and invest the money to ensure that all other pieces to the puzzle are in place.
Most other streaming producers don’t have this cash and need an affordable, proven turnkey solution that works today. By Jan. 1, 2016, MSE, EME, and DASH should be mature and market ready, and I’ll discuss some of what’s coming below. For most smaller companies—particularly those targeting primarily computers, notebooks, and mobile playback—solutions based on existing proprietary technologies are simply better options. So I’ll start with these.
Separate Flash and HLS Packages
This is the traditional approach, creating one set of adaptive files for Flash playback on computers and notebooks and a separate set of HLS files for iOS and Android devices. As you read above, Android playback of HLS files is problematic. For this reason, many developers send a single file delivered via RTSP to Android players, which ensures problem-free playback, though obviously not the optimal experience.
Though this approach doubles your encoding chores, it lets you customize the encoding parameters of each package for each target platform. As an example, while you’ll have to use the Baseline profile on some lower-quality files in the HLS package, you can use the High profile on all files bound for computers and notebooks. That said, in most cases the quality differential between the Baseline and High profiles isn’t that significant, and besides doubling your encoding chores, this option doubles your storage requirements and reduces the cachability of your video content. For this reason, I generally recommend one of the following two alternatives.
SINGLE PACKAGE AND TRANSMUX
Another approach is to create a single set of files in MP4 format, deploy them to a server that can convert the MP4 files into the MPEG-2 container format required for HLS, then create the necessary metadata files for HLS playback (and/or HDS). This process is called transmuxing, and servers such as the Wowza Streaming Engine and Adobe Media Server can perform this in real time, sending the MP4 (or HDS content) to the Flash player and HLS files to iOS devices. In the most recent version (Figure 3), Wowza added support for DASH, which is great for organizations seeking to access Smart TVs and OEM OTTs, now or in the foreseeable future.
This approach adds the cost of a streaming server to the mix, but it cuts your storage and encoding costs in half compared to the first alternative, and it simplifies supporting additional formats down the road. You’ll have to choose a single group of encoding profiles for all files, for which the best starting point is Apple’s TN2224. This approach does not optimize the H.264 profile for each target platform, though again, in most instances, the quality differential isn’t that significant.
DEPLOY HLS TO DESKTOP AND MOBILE
Another alternative is to create a single set of HLS streams and deliver them to computers, notebooks, and iOS devices. For this, you’ll need a Flash-based player that can play HLS files on computers and notebooks. You can create your own using Adobe’s Open Source Media Framework (OSMF) or license a player such as the JW Player. In addition to delivering Flash playback on computers, JW Player can automatically deliver a single MP4 file to Android devices, avoiding the HLS playback issues (Figure 4).
This approach is most efficient for encoding, storage, and file cachability, since one set of files is delivered to all platforms. As with the previous alternative, you’re working with one set of files that are not optimized for computer playback, so you may be leaving a bit of quality on the table. The other negative is that this approach won’t get you to the top of the delivery pyramid, since these platforms primarily support DASH.
Going for DASH
If you’re reading this article in the second half of 2015, you might find DASH deployment on computers, notebooks, and Android devices much more accessible than presented above. The first half of 2015 will be a huge interoperability drill, as the various workflow components test file compatibility and playback on a variety of playback platforms.
If you decide to go for DASH, you’ll find a number of products and services that can help. Technologies like CastLab’s DASH Everywhere Player should dramatically drop DASH-related development costs, with Flash fallback on browsers that don’t support the Media Source Extensions. JW Player has announced that it’s planning on releasing DASH support as part of JW Player 7 in early 2015. For those seeking a lower-level solution, the open source dash.js provides a production-quality framework for building DASH-compatible players.
There are multiple SDKs for adding DASH playback to browsers and mobile devices, including castLabs Adaptive Streaming Library. On the encoding side, most high-end encoders currently output in DASH format, as do some cloud vendors.
If your goal is to distribute to the entire pyramid, DASH is in your short-term future. For those targeting the bottom two levels, perhaps less so. Either way, it’s no longer a question of if, but when.
[This article appears in the 2015 Streaming Media Industry Sourcebook.]
The 2015 OTT Superguide Is Now Available
The future of television will be marked by skinnier bundles, more a la carte offerings, and seamless delivery across multiple devices, say speakers from Adobe, Dish, Gracenote, Piksel, and Verizon on CES Digital Hollywood panel
It's a mobile video world, and Elemental promises to ease video complexity, add time-shifting services, and reduce costs with Delta.
It's important to think ahead when preparing content for different screens in different environments. Read on for best practices from experts.
Companies and Suppliers Mentioned