Adobe's Emerging Rich Media Ecosystem, Part 2: Developing Live and Video on Demand Streaming Media Applications
Benefits of streaming versus HTTP delivery
There are two widely employed methods for delivering video over the Internet using Adobe Flash Player:
- Progressive download (simple download of a file)
In both progressive and streaming delivery, the video content is external to the SWF file. To deploy video content to the web, the SWF file and the video file are uploaded to a server.
- Easy to update: Accommodates dynamic content and it's relatively easy to add or change content independent of the video player and without the need to republish the SWF file.
- Small SWF file size: Your SWF file can remain very small for faster page loading, allowing the video to be delivered when the user requests it.
- Better performance Because the FLV and SWF files are separate, the user will have a better playback experience.
Note: Although this section focuses on the delivery of video files, the same methods can be used to deliver audio files. In other words, audio files also can be progressively downloaded or streamed.
Why streaming is better
Progressive download is a simple method of video delivery with very little control—it's basically a simple HTTP download call. Streaming is a method that allows the publisher to control every aspect of the video experience.
The advantages of streaming video from Flash Media Server are numerous:
- Fast start: Streaming video is the fastest way to start playing any video on the web.
- Advanced video control: Features such as bandwidth detection, quality-of-service monitoring, automatic thumbnail creation, server-side playlists, and more.
- Efficient use of network resources: Customers who pay for their video hosting or bandwidth by the number of bits that are transferred can reduce their costs by using streaming video, because only the bits that the client actually views are transferred.
- More secure, protected media delivery: Because the media data is not saved to the client's cache when streamed, viewers can't retrieve the video or audio file from their temporary Internet files folder. There are also additional security features in Flash Media Server 3 that prevent stream ripping and other risks to your file's security.
- Minimal use of client resources: Resources such as memory and disk space are significantly reduced with streaming, because the clients do not need to download and store the entire file.
- Tracking, reporting, and logging capabilities: Because progressive download is a simple download of a file, you can't easily log specific relevant statistics such as how long the video was viewed, if the user navigated forward, backward, or paused the video, how many times the viewer played the video, if the viewer left the web page before the video completed playing, and so on. Streaming enables you to easily capture this important data.
- Full seek and navigation: Users can immediately seek to any point in the video and have it start playing immediately from that point. This makes streaming a great solution for longer playing videos or applications such as video blogging, classroom lectures, and conference sessions, where you may want to jump into the video at a specific point rather than requiring the viewer to watch it from the beginning.
- Deep interactivity: The precise control found in streaming enables developers to create extensive interaction in their video applications. For example, the ability to switch camera angles, have one video spawn another video, or the ability to seamlessly switch to alternate endings, are all enabled by streaming.
- Live video: Streaming provides the ability to deliver live video and audio from any connected webcam or DV camera (camcorder), and even directly from some video cards, natively in Flash Player.
- Video capture and record: (Flash Media Interactive Server only) In addition to live streaming, Flash Media Server also gives you the ability to record video either in conjunction with the live stream (for example, archiving an event) or on its own (for example, video messaging).
- Multiuser capabilities: (Flash Media Interactive Server only) In addition to live one-to-many streaming, Flash Media Server also enables multiuser streaming of audio, video, and data for the creation of video communication applications, as discussed in an earlier article, Part 1 of this series
Although streaming may be perceived as being more difficult than progressive download, they're actually extremely similar—they both use the same components and the same ActionScript commands. Streaming just gives the developer more power to create rich, interactive video applications.
The only potential downside to streaming is that it requires special server software. Just as a robust data application would require you to install an application server in addition to your web server, robust media delivery applications require a streaming server in addition to the web server.
When to choose streaming
You can use streaming with the Flash Media Server in situations where you need to:
- Deliver long files (greater than 30 seconds) or high-bit rate files (greater than 100Kbps)
- Perform bandwidth detection, allowing you to deliver the best quality video for the available hardware
- Quality-of-service monitoring
- Real-time tracking
- Provide real-time data sharing and interactivity to your video experiences
- Stream live video and/or audio
- Record video and/or audio
- Serve more streams with less bandwidth
If your web site or blog relies heavily on video, audio, or real-time data sharing, you can give your user the best experience by using the features in a Media Server.
Flash Lite on hand-held devices
Microsoft has signed a license to use Flash Lite and Reader LE in future Windows Mobile handsets as plug-ins for Internet Explorer Mobile. So, future versions of Windows Mobile handsets will be able to use Adobe's Flash Lite player technology to boost their ability to handle sophisticated Web pages while Microsoft works on a mobile version of its Silverlight competitor to Flash.
Note: Silverlight is Microsoft's attempt to rein in Adobe's position in the web development market with Flash. Microsoft is fighting an uphill battle, though, in trying to get web developers to build sites using its technology as opposed to Adobe's.
At the same time, Apple is working with Adobe with a view to offering Flash support on the iPhone. Adobe needs the iPhone to extend itself fully into the mobile market.
Flash Lite is a stripped-down version of the ubiquitous Flash video player that allows mobile handsets to view web sites created with the Flash technology. Think of Flash Lite as a slightly older version of Flash; the most current version of Flash Lite can't properly display web sites created with the newest version of Flash, Flash 9, but it works with sites created using older versions of the technology.
Note: As smartphones become more and more common, people are starting to get fed up with the basic web surfing experience offered by many phones. They want something that looks more like a PC experience, with rich graphics and video. But, that's hard to duplicate on a device with a smaller screen, less memory, a slower processor, and battery life requirements.
Page 6 of 7