Flash Media Server 3.5 in combination with Flash Player 10 offers dynamic streaming support, which automatically adjusts the bitrate and quality based on the available bandwidth, the client performance (fps) and numerous other variables.

The feature allows to offer HD quality video on the web without having to worry about different bandwidth conditions or hardware configurations. This demo demonstrates a high-end player with full 1080p resolution (1920×1280) – which is not the standard quality for the web (yet), requires some decent hardware (Flash Player 10 HD hardware recommendations) and a high resolution screen (e.g. 1920×1200). It would be possible to build this demo to automatically downscale to low-end machines with some additional logic (e.g. no 1080p fullscreen resolution for slow machines, VP6 (s) for single core, etc).

Hillman Curtis was so kind to provide his latest short movie “Bridge” for the demo and Uvault provided the Flash Media Server hosting.

For own player development it’s important to follow some best practices for fullscreen and H.264 encoding.

The demo above uses the fullscreen acceleration available since Flash Player 9. As alternative Flash Player 10 allows the use of Direct and GPU mode acceleration even in the regular, non-fullscreen mode. Tinic Uro posted a good explanation of the new modes. A use case for GPU mode would be the desire for crisp video controls in fullscreen mode while maintaining the performance (a common issue with most players). GPU mode in this case would HW support the scaling of the video object on the stage, and allow to use a fullscreen resolution that is larger than the actual size of the video source without significant performance impact. The downside of GPU acceleration is the higher hardware requirements.

Although the player is not optimized for screen resolution based scaling of the video controls (1080p screen as target), here is a version of the same player with GPU acceleration. The fullscreen best practices post explains how to enable the GPU mode.

Enjoy the demo – with the right setup it shows what’s possible with Flash and HD on the web today. And all those techniques (including full 1080p with the right encoder) work also for live.

1080p player with FP9 fullscreen.
1080p player with FP 10 GPU acceleration.
Download the source – requires Flash CS4.

For less demanding dynamic streaming demos visit Akamai’s StreamFlashHD.com.