A Closer Look at Adobe Flash Media Server 3.5
Adobe says the intent of its new Flash Media Server 3.5 (FMS 3.5) family is a focus on quality of delivery. Two features—Dynamic Streaming, for multiple-bitrate delivery, and a Digital Video Recorder (DVR) technology for live streams—caught my eye at this year's AdobeMAX, held in San Francisco this week.
MAX is a gathering of geeks and suits that look at products (and, increasingly, services) that Adobe is offering. After hearing about FMS 3.5 last week, I sat down with Kevin Towes, Product Manager, Flash Media Servers, to walk through a variety of scenarios based around these two new FMS 3.5 features.
Dynamic Streaming allows multiple files encoded at various bitrates to be streamed to an end-user, with the sever providing a seamless transfer between the streams based on rules encoded into the Flash Media Player. This allows the player to switch between higher-qualityor lower-quality streams to handle intermittent network bandwidth variations. Time intervals to check—and switch—streams are at the discretion of the player developer.
The streams need not be different only in size: Dynamic Streaming can be used to handle lower data rates, fewer frames per second, smaller frame size, lower quality per frame, even variations on codecs (VP6, H.264).
Two of the big complaints about recent attempts to "smooth out"streaming quality to account for bandwidth variations are a need toinstall a plug-in and a need to re-encode content. While FMS 3.5 doesn't solve the plug-in problem (Flash Player itselfis a plug-in) it does account for the use of previously-encodedcontent to a certain degree. FMS 3.5 will support existing encodedcontent, meaning that content that has already been encoded in variousbitrates (or frame rates or frame sizes) may not need to be re-encodedfor the "seamless" switching to work.
"We've designed Dynamic Streaming so it can use existing content, andalso fit within an existing encoding workflow," said Towes. "Dependingon the way content owners have previously encoded their content, theymay also be able to use those streams with FMS 3.5 Dynamic Streamingwith no changes."
"Some existing content may incur a minor disruption in audio duringthe switch," continued Towes, "so we are recommending a re-encode withmatching keyframes."
This leads to a bit more detail on the way FMS 3.5 handles the"seamless" part of Dynamic Streaming. Adobe matches up keyframes atthe server to find a switching point, so two streams that have varyingkeyframes may cause a momentary audio gap.
In addition, FMS 3.5 switches between the streams without flushing thebuffer, which adds to the seamlessness; we'll address this a bit morewhen we talk about the DVR functionality later in the article.
Since Dynamic Streaming's multiple bitrate streaming is designed forviewers to maintain video throughput at the highest bitrate, itsupports both uprating and downrating occurring at times specified byrules in the player.
Alongside the multiple bitrate streaming capability, Flash Player isnow outfitted with a new programming API that allows the developer tomonitor current bitrate, expected bitrate, number of dropped frames,and several other monitoring functions in order to make rule-baseddecisions on which content stream will play in a given scenario.
"We also support live encoding with Dynamic Streaming," said Towes."The Adobe Live Encoder 3.5 will have ability to encode and distributemultiple bit rates of the same video and then switch between them. Itwill support H.264, AAC, VP6-E, and MP3."