HTML and CSS Reference
Being that it's a definition by Apple and not an open web standard, adoption is limited to certain devices and
browsers; however, in relatively recent news, Adobe showcased support for HLS within Flash Player 10.1, so if you're
targeting HTML5 with a Flash Player failback, you could use the same delivery mechanism. To see a good example of
at the time of writing, htML5 hLS support is only in iOS, Safari, and android 3.0+.
Speaking of Adobe supporting HLS, Adobe also supports a specification of its own for delivering video over HTTP.
Adobe's solution is called HTTP Dynamic Streaming (HDS). Adobe has its own manifest specification for serving
packets of video over HTTP to its Open Source Media Framework (OSMF). Much like HLS, HDS requires a video asset
(MP4) and a manifest file, which is known as an F4M file.
Here's an example of the F4M manifest file; take notice that the file is just straight XML schema where there is a
base file node with a single piece of media and different media URLs for the various videos with different bit rate.
<?xml version="1.0" encoding="utf-8"?>
<id>videoRx.com :: Adaptive Bitrate Video Player</id>
<media url="vid1.mp4" bitrate="385" width="364" height="156" />
<media url="vid2.mp4" bitrate="508" width="436" height="184" />
<media url="vid3.mp4" bitrate="651" width="506" height="214" />
<media url="vid4.mp4" bitrate="1030" width="646" height="274" />
<media url="vid5.mp4" bitrate="1487" width="858" height="364" />
Only the Windows and Linux operating systems support the adobe file packager for hdS at the time of this
Now that you've seen both Apple's and Adobe's specifications for delivering video content over HTTP, let's take a look
at Microsoft's smooth streaming spec. Listing 7-6 demonstrates the manifest file for producing adaptive streaming to
Silverlight, Windows Media Player and other devices capable of smooth streaming delivery.