Agnostic Streaming Delivery
Did you know that the idiom "eggs to apples" means the same thing as "soup to nuts"? The former describes a full meal from Rome in the 1500s and the latter a full meal in America in the 1900s.
There is no doubt that what we feed our streaming servers, what they feed end-users, and everything in between will change over time. And as they do, many companies will be forced to make difficult decisions about how much new streaming support to roll out and how much old streaming technology to keep around. Generic Media Publishing Service (
www.genericmedia.com) customers, however, won't ever have that problem — if the company delivers on the full potential of its architecture. We took it for a test drive to get a handle on its potential.
Grunt Work
Experts agree that webcasters should publish in as many streaming formats as possible to reach as many surfers as possible. At a minimum, this means Windows Media Technology (WMT), Real's Real, and Apple's QuickTime, at one bit rate each. But for video it can mean four or more bit rates for each format. Each video clip needs to be encoded nearly 10 times, into roughly as many separate files. The separate files must be individually accessible to surfers, either via multiple links or scripts that make the right choices.
To their credit, CDNs and other service companies can solve this problem from a customer point of view by taking the customer's source files and doing all the grunt work for them on a continual basis. But Generic Media Publishing Service is taking a different approach designed to offer new benefits and eliminate the grunt work of delivering multiple formats in multiple bit rates altogether.
Architecture
The Generic Media Publishing Service has three parts: The Generic Media Transformation Engine, the Generic Media Publishing Manager and the Generic Media Delivery Manager.The Generic Media Transformation Engine does the very heavy lifting. It consists of off-the-shelf vendor software programs and developer libraries for encoding/decoding specific formats; off-the-shelf streaming server software; a Streaming Server Farm; and a great deal of proprietary software.
In short, the Generic Media Transformation Engine can take a single master file, such as an MPEG-1 file, and dynamically convert it into any supported format and at a selected bit rate.
Huh? To clarify, here's what happens when a user makes a request formedia hosted on this platform: The user clicks a link — a single hyperlink is used for all clips, regardless of media format and bit rate needed. The Generic Media Publishing Service will then check for a Generic Media Delivery Manager browser cookie. If the cookie exists, the Generic Media Publishing Service will use the cookie to select media type and bit rate for the end-user's computer. (The end-user can change settings via a Generic Media hosted link.) If no cookie exists, the service will make an educated guess to select streaming format and bit rate.
Next, the Generic Media Transformation Engine checks its disk cache to see if a file for the clip in the specified format/bit rate exists in the cache. If so, that file is played via the appropriate streaming server from the cache file. If not, Generic Media Transformation Engine finds your file (the single streaming master file you provided), transcodes it into the desired format/bit rate, passes it to a streaming server live for playback, and simultaneously saves it to a cache file. In case you weren't sure, this is a huge engineering feat that cannot easily be duplicated.
Put to the Test
To test the service, I uploaded a variety of streaming master files, which were then made available in all formats, at all speeds, immediately. The service worked repeatedly and successfully. The largest file I sent was 1.9GB, but Generic Media tells me that much larger files are fine.
I did experience a few minor glitches — the result of inadequate documentation rather than of technical shortcomings of the service. In particular, I was unclear about what AVI codec to use and discovered, one at a time, which ones not to use. The AVI file format stores data uncompressed by default, but codecs can be written to store compressed data within the AVI file format instead. Generic Media suggested that I not use uncompressed AVI, so a codec match was needed. To transcode an AVI file, the server first needs to decode it, and to do that the server must be running the exact same codec that was used to create the AVI. Working with Generic Media's support, I went through a few of these before winding up with one that worked.
Generic Media recognizes the urgent need for a list of supportedstreaming master file creation parameters for the Generic Media Transformation Engine. MPEG-1 is a compressed format that doesn't have the "which codec?" issue, but nearly all codecs can vary by video size, frame rate, key frame rate, and so on. Such a document is in draft status and is expected to be released shortly.
The first time a clip plays in a specific format at a specific bit rate, it is coming down the pipe "live," meaning that even though it's on-demand, users can't see the total playing time in their players (for cached formats/bit rates, playing time does show).
Video embedded in a Web page will work in most situations, though for now, Generic Media is recommending the use of stand-alone players with its service. This could be a drawback for some companies that prefer the aesthetics of embedded video, or require it for business reasons (i.e., ad space). This is a short-term limitation, so work with Generic Media to address this if it's a need for your company.
Publish and Deliver
The Generic Media Publishing Manager is a very clean Web interface foruploading media files and configuring an account for the service. This was self-explanatory and a cinch to navigate. For transferring media files, the publishing manager uses a vanilla FTP connection, which means that you can do the same if needed for batch processing, auto-scheduled uploads, and so on. This also has a handy option that lets you preview your master at different formats/bit rates.
The Generic Media Delivery Manager is really just the system of cookiemanagement for detecting and maintaining an end-user's settings. It works fine. A very cool feature of the publishing service is enabled in the settings page for the Delivery Manager: Play just the audio from a video clip. This is especially great for tech interviews, tech panels, keynotes, etc., where the visuals aren't critical to understanding the material.
Apples and Nuts
Generic Media Publishing Service's "just-in-time" processing provides several benefits for the streamer.
One is dynamic video overlay for watermarking, branding, or really anything one wishes to do with a Flash file that will be overlaid onto a video at the time it is transcoded. This leaves the source pristine while still serving logo'd/watermarked streams. Right now, it's just Flash, but because of the flexibility of the architecture, Generic Media could enhance the overlay offering at any time with additional technologies.
A significant problem faced by CDNs, and even more so by makers of streaming server appliances, is codec leapfrogging. Vendors are always releasing better, newer codecs, which is great if you can take advantage of them without re-encoding all your source files into all of the multiple formats needed. For users of streaming server appliances, which often have their own OS environments and proprietary ways of shoehorning vendor codecs into them, implementing a new codec may require a special upgrade delivered by your appliance vendor. For CDNs, this is accomplishable through grunt work.
Because Generic Media uses vendor libraries and programs exclusively,there's nothing proprietary about its decoders, encoders or servers.Therefore, for Generic Media, it's just a matter of putting the codec on their servers, and possibly upgrading the vendor's streaming server with an off-the-shelf solution. This is where it gets exciting, because no matter what happens in the streaming technology wars, Generic Media's customers are covered at no encoding cost and with no delay for re-encoding.
Going Forward
One area where CDNs are ahead of Generic Media is in edge delivery and/or caching. Right now, Generic Media is serving all streams from its San Jose, Calif. location. However, with Generic Media's underlying architecture, the company has options for implementing CDN-like distribution in innovative ways.
Execution in the marketplace matters more than technological superiority or architectural elegance, and only time will tell how Generic Media will fare. But it is clear that the company has created an excellent streaming publishing service that's live right now and seeking evaluation by publishers with large or mid-size libraries. If you're a publisher not yet tied into a particular Web publishing technology, Generic Media becomes an even more attractive offer.
And the best part is that when the industry gets tired of eggs and apples, Generic Media is already prepared to serve soup and nuts at a moment's notice.