11 January 2009
Less than a year ago, we released the game-changing Adobe Flash Media Server 3.0, which introduced streaming standards-based H.264/AAC video and audio to the Adobe Flash Platform. We also introduced new technology to help protect content while dramatically reducing the cost of ownership. As Product Manager for Adobe Flash Media Server, I'm really excited to announce today's release of Flash Media Server 3.5, which sets a new standard for delivery quality, ease of use, and building great experiences for live streaming for the Flash Platform.
Experience Flash Media Server 3.5 right now by visiting StreamFlashHD.com.
I've been involved with streaming video for over 13 years and have had the front seat in the evolution of this industry and the technology that drives it. Watching the web grow to the dominant way to access video in the 21st century is amazing, and knowing that the Flash Platform enables customers to innovate new ways to experience media is a thrill. I'm proud to work with a team that can envision and deliver the future of how the world consumes interactive media content.
Today 80% of online videos are viewed worldwide using Adobe Flash technology, making Flash the number-one format for video on the web. (Source: August 2008 data from independent research firm comScore.) We're seeing higher quality video (up to HD) and a sharp increase in the quality of the media experience. H.264 drove the adoption of Flash Player 9,0,115 to record-setting levels: in just six months, over 85% of Flash Player installations around the world were upgraded.
Even though Flash Media Server 3.5 may seem like a minor release compared to the 3.0 release, it's got a lot of bang. Let me go over the key features to give you an idea of the next generation of video on the web.
Multi-bitrate video has been around for a long time, traditionally to help deliver video over strained network connections. Remember the days when you had to choose from among high, medium, or low-quality video? These decisions were made based on the quality of the Internet connection or the horsepower of the computer. Today content owners are putting higher quality video on the web and consumers are demanding that the video experience match what they expect from their television.
Think about the experience today in your living room. How many times have you seen "rebuffering" on your television? How would you feel if it took several seconds for the video to appear after you changed channels? Flash Media Server introduced automatic bandwidth detection a long time ago to help reduce this effect over the web. Bandwidth detection allowed the client computer and Flash Media Server to negotiate the available bandwidth, and the server seamlessly delivered the best quality media.
However, the problem remained that bandwidth conditions could change after you started watching the video. For example, you could be cheering on your favorite sports team as they deliver the best game of the season, or watching your company's CEO deliver the quarterly earnings, when your teenage daughter starts watching a movie online—and immediately consuming half your bandwidth. Suddenly your video starts to rebuffer and you miss an important event.
Dynamic streaming will help solve this problem as bandwidth becomes restricted or is made available. The technology does this because of the new APIs available with Adobe Flash Player 10 and Flash Media Server 3.5. ActionScript written for Flash Player or Adobe AIR 1.5 can instruct Flash Media Server 3.5 to send a lower quality stream and switch the streams without interrupting the audio or video flow. The user is never the wiser. When bandwidth increases, Flash Player can request for a higher quality stream and once again deliver without disruption (see Figure 1).
Having multiple encodings of a single video lets you change the bitrate, image quality, frame rate, or frame size of a video to let the video flow smoothly from server to client. Flash Media Server doesn't require any special files. In fact, because you can use your existing video files, you can easily take advantage of dynamic streaming today. Use your favorite video encoding tool, or the new Flash Media Encoding Server if you don't already have one, and choose between VP6 (FLV) or H.264 (F4V) video. We spoke to a lot of customers when we designed this feature and many of them told us they wanted to control costs and leverage industry-leading encoding technology, but they did not want to change their workflows.
Dynamic streaming also supports multi-bitrate live video. Adobe Flash Media Live Encoder 3 supports the multiple encoding of a single video feed. If content protection is important to you, then you can use the RTMPE protocol or even fully encrypt your multiple video files with Adobe Flash Media Rights Management Server software that allows you to protect media content delivered to Adobe Media Player and Adobe AIR applications.
Mark this point in history because the digital video recording (DVR) feature changes the way you think about live video on the web. Many of us at home watch our television through the use of a DVR, the successor of the VCR. You can use it to record your favorite shows when they air, or pause a live stream while you tend to something else. In either case, you can watch your program in its entirety or even go backwards to catch something you missed the first time through. The trend here is that video consumers are watching live media on their own time—and on their own terms.
Considering this new aspect of live television, it's only natural to look toward the same experience on the web. Flash Media Server 3.5 will change the way we watch, interact, and monetize live streaming on the web.
Flash Media Server has always had the ability to archive a live stream on the server for On2/Sorenson based content. Flash Media Server can now archive H.264/AAC content too. DVR functionality extends this basic archive function by allowing you to watch the stream as video on demand as it's being written to the disk. You can pause, play, and seek around the video cache, as if it were a prerecorded stream. You can even insert cue points to manage advertising (for example, disabling the seek bar when ads are played).
The most exciting part of this feature is the ability to scale. If you choose to deploy the Edge caching technology of Flash Media Server or manage your own large cluster, this functionality is easy to deploy using the automatic caching technology or manage by creating custom plug-ins.
From the client side, nothing special is required. Standard NetStream APIs are all you need. When your live event is over, you can take the DVR cache and make it available as a VOD stream or, if it's an H.264/AAC stream, take it into Adobe Premiere Pro CS4 and edit it yourself.
Flash Media Server has always been just one part of the complete media delivery solution. There are a lot of pieces needed to publish your video successfully. In Flash Media Server 3.5 we added an HTTP server to make it easier to deploy a complete media delivery solution from a single server. A new webroot folder has been added as your publishing point for all HTTP content (see Figure 2). Within the webroot folder is a vod folder used as the secondary location for RTMP streams.
You can still use the RTMPT (tunneling) protocol over port 80, and HTTP over port 80 as well. You can use the web server to deliver your SWF, AIR, or HTML, JavaScript, and CSS, or even create a solution to deliver video over progressive download. Using Flash Media Server on your desktop makes it simple to test your interactive streaming applications, too.
If you publish your video to Adobe Media Player, you can deliver the playlists, advertising assets, and downloadable or streamed video right to the player. If you use Flash Media Rights Management Server, the protected video files can be delivered either by HTTP or RTMP from the same server. If you use SWF verification to help protect your video player from being hacked, you don't need to manage multiple SWF files anymore. The same SWF file can be used to deliver as well as to verify. This saves you time and headache when managing multiple SWF versions.
Your custom video players no longer need to manage a list of servers (for HTTP or RTMP). You can default down to HTTP if RTMP is not available, as part of the connection cycles.
Flash Media Server comes preconfigured to let you share the same media assets for both RTMP and HTTP delivery. If you have an existing web server on the same machine, or on a separate machine, you can configure Flash Media Server to use that server as well.
Flash Media Server 3.5 now ships with an easy-to-use start screen, which is the default home page of the new web server (see Figure 3). The start screen makes it easier to get started with a new video player that is prebuilt to support dynamic streaming.
The Flash Media Server team has updated the familiar video playback component found in Flash CS3 and CS4 Professional. The updated FLV video playback component (FLVPlayback 2.5) is now available from our new Flash Media Server tools page. This component can also be used with Flex 3 as an alternative to the VideoDisplay component. The video player update helps developers deploy video faster in their projects and helps make streaming more robust. It does this while supporting new Flash Media Server and Flash Player 10 technology—and, for the first time, is available for Flex developers!
Dynamic streaming is now available using standard SMIL playlists and new simple APIs that are exposed. The component also supports DVR functionality for live video. This means that using one component you could actually have a multi-bitrate, live DVR experience.
The goal of all of this is to make it easy to discover what the new server can do, and provide a solution to deploy without writing a single line of ActionScript.
Flash Player 10 introduced 19 new ways to monitor the performance of the video stream. This can only be done when Flash Media Server is streaming. These new metrics are used to determine when to switch up and down for dynamic streaming. To help you get started, we're releasing a new ActionScript 3.0 class that will help you leverage dynamic streaming. Of course, you will always be able to edit and modify it to make a perfect fit, but the class will make it easy to transition from your current player to the next-generation player.
If all that weren't enough, we also created a customized version of the FLVPlayback component, packed it up, and shipped the server with it. The new video player is for those of you who want to publish video quickly (see Figure 4). The new sample video player HTML page lets you copy embed code directly into your Dreamweaver CS4 HTML file and publish it without writing one line of code. Because the player is integrated with the built-in web server, you won't even need to move any files around. Copy and paste the code for streaming—it's that simple.
A new array of NetStream APIs have been added to Flash Player 10. These new APIs support dynamic streaming and stream monitoring between Flash Media Server and Flash Player. The most notable change is the NetStream.play2() command, which is now a parameterized method that lets you manage playlists and handle the transition between media on Flash Media Server 3.5.
The ActionScript class NetStreamInfo contains 19 new properties that report the state of the streams received from Flash Media Server (see Figure 5). The new properties expose buffer detail, video dropped frames, round trip time, byte count, and current bytes per second. The data values can be used to build stream monitoring solutions or make decisions on stream delivery quality.
Flash Media Server 3.5 has many other features, continuing to set new standards of delivery quality, and integration. The server now has full support for Linux Red Hat 5.2, and all versions of Windows Server 2008. We've also added support for Windows Server 2003 SP2. If you're running 64-bit operating systems, Flash Media Server will run as a 32-bit process in these 64-bit environments. Here are some more features:
Flash Player 10 now supports limited (non-printing) keyboard commands, such as Shift, Tab, Arrows, and Spacebar. This new ability allows you to build media experiences that map commands to the keyboard (such as Spacebar = play/pause or arrow keys = fast-forward/rewind).
Flash Media Server 3.5 now supports streaming encrypted media assets protected with Adobe Flash Media Rights Management Server. Take full advantage of all the unique streaming features, such as seeking through large files. For example, a feature film protected with rights-managed encryption can now leverage the benefits of network efficient, multi-bitrate delivery through streaming.
We've extended what you can do with the plug-in APIs with Flash Media Server 3.5. You can now use the plug-ins to manage SWF verification, eliminating the need to pass around the SWF file if you've got a big network or CDN. There is also more monitoring control over the direct statistics of each client, such as bytes delivered and current bit rate. For customers who use the new distributed core technology, you can now control which user is assigned to what core on your server. All of these features help extend and integrate Flash Media Server into your network so you can confidently manage at the most detailed level.
Flash Media Server has always supported archiving FLV files on the server. This is how interactive applications such as video messaging or video recordings work. With more customers choosing the industry standard H.264 and AAC codec to deliver live events, and more third-party encoding companies supporting live streaming to Flash, this feature was a natural fit. You can also use it to record playlists of mixed videos. For example, if you have a server-side playlist mix of live video in H.264 and prerecorded video in VP6, you can archive it all to a single F4V file.
A side effect of this feature is the ability to edit video recorded on the server. Now H.264/AAC video saved to the F4V format can be edited in tools like Adobe Creative Suite 4 Design Premium and republished quickly to your streaming server.
Video is the most dense medium on the planet, with more information per bit than print or photography. Yet it has the least amount of metadata. Flash Media Server 3.5 now supports streaming the Adobe XMP metadata standard. XMP metadata can be created in your video file using Adobe Media Encoder. The metadata stored inside or outside the media asset can be delivered so you can build rich interactive search applications or synchronized media experiences.
Flash Player 10 and AIR 1.5 now support audio capture and encoding to the Speex audio codec. This codec is much higher quality than the legacy Nellymoser codec. Using Flash Player 10 with Flash Media Server 3.5, you can create high-fidelity VoIP solutions or interactive solutions with much higher quality.
We have published a wealth of information to address the new dynamic streaming capabilities of FMS 3.5. Be sure to check it out on the Flash Media Server Developer Center:
You can also find comprehensive product information, including a detailed feature list, FAQ, and white paper at adobe.com/go/fms. The new ActionScript APIs are available right now in Flash CS4 Professional or from the Flash Media Server resources page.
Go ahead and experience Flash Media Server 3.5 right now. Just go to StreamFlashHD.com.
To keep abreast of the latest industry news around Flash streaming, be sure to visit my blog.
Finally, we are always happy to hear from the community, so please visit our Flash Media Server wish page and tell us what you think.