Just a quick riff on encoding versus packaging. The concept of encoding involves converting a mezzanine file into distributable output like MP4 files, or ABR formats like HLS or DASH. The concept of packaging is taking previously encoded MP4 files and converting those to distributable ABR output format like HLS or DASH.
The heavy lifting, of course, is converting the mezz files into MP4 format. Packaging is very lightweight, and is performed in real time by many transmuxing tools like the Wowza Streaming Engine. What I’m not seeing are a lot of desktop tools that separate the encoding and packaging functions. This is becoming increasingly important in a world where web publishers must support multiple ABR formats to reach all relevant target audiences.
That is, if when you started supporting HLS three or four years ago, you created MP4 files that you packaged into HLS format, you can easily repackage those MP4s into DASH. On the other hand, if you encoded directly to HLS output, you have to reencode your entire library to MP4 and then DASH. Going forward, it makes the most sense to maintain your core library in encoded MP4 format and package as necessary for newer ABR formats. The only problem is there’s not a lot of support for these repackaging functions in several market segments.
With Sorenson Squeeze, for example, you can create DASH, HLS, and Smooth Streaming output, but only when encoding mezzanine files from scratch. You can’t input previously encoded MP4 files and just package those to ABR formats, though you can with some higher end tools from companies like Elemental, Harmonic, Telestream. There are also lots of open source DASH packagers you can scan through at the DASH Industry Forum, and you can use Apple’s command line tools to create HLS files.
Not all cloud providers enable packaging only, and those that do don’t always price these services accordingly. For example, with Zencoder, if you transcode first to MP4, and then HLS, the HLS packaging is performed at a 75% discount. However, this discount is not uniformly applied. If you repackage to DASH or Smooth, you pay full price.
Going forward, if you are concerned about saving transcoding costs when you need to support additional ABR formats, you should save all encoded files in MP4 format and then package as necessary for your ABR outlets. Of course, you need a desktop or cloud tool that can perform this packaging only.
So the next time you’re shopping for a desktop or enterprise encoding tool, ask whether it can package previously encoded MP4 files. If not, you may find yourself encoding from scratch for each ABR format you need to support, which is a very significant waste of resources. When shopping for a cloud provider, ask if the cloud provider can package existing MP4 files, and, if it does, whether it’s cheaper than regular encoding to the same output.