Flash can play up to 1080p video, but in surprisingly a lot of cases the performance is limited by the non-optimized use of the fullscreen mode. In addition to that, FP 10 offers new options for fullscreen acceleration.
Here some tips how to efficiently use the fullscreen mode:
Fullscreen hardware acceleration in Flash Player 9+ Use the fullScreenSourceRect to define zoom area and switch displayState to "fullScreen". (Exploring full-screen mode in Flash Player 9)
Performance best practices
fullScreenSourceRect should match the video object/movie size for best performance
Avoid video scaling
Disable smoothing and deblocking
If possible no video overlays or objects below the video object
If SWF dimensions are smaller than the dimensions of the video (e.g. 1080p video on 800 x 600 stage), scale the video area and adjust the fullScreenSourceRect to match video dimensions prior to switching to fullscreen. The fullScreenSourceRect is not restricted to Flex / Flash stage dimensions
If scaling is required, use an even scale factor, e.g. 1/2 or 1/4 or 2x of the original size
Common approach for video controls in fullscreen mode
In most cases the screen resolution and the actual video size have different dimensions, therefore video controls will change their size in fullscreen. To avoid this behavior a common practice is to use the screen resolution as fullScreenSourceRect, keep the scale of the controls and scale the video object to match the full screen dimensions. This can impact the performance of the video, especially on larger screens and with HD content.
Video control best practices
Flash Player 9 - Use the method above with care and only if performance impact is acceptable and UI is more important (SD content/ low screen resolution)
Flash Player 9 - Since the video resolution of HD content it closer to screen resolution, evaluate if a minor pixilation of controls is acceptable for HD. In this case use video object/movie size as fullScreenSourceRect, and perform minor resizing of the video controls.
Flash Player 10 – The method above is acceptable if the GPU accelerated mode (via wmmode “gpu”) is used with the fullscreen mode. Do not use fullScreenSourceRect in this case and simply switch with displayState to fullscreen. Since it's not possible to zoom to a certain area without the fullScreenSourceRect, simply zoom on the stage to the desired area when in fullscreen. The GPU acceleration will minimize the performance impact.
Fullscreen and Dynamic Streaming
Dynamic streaming normally includes video streams with different dimensions. Since it’s not possible to switch the fullScreenSourceRect during fullscreen mode, and the maximum screen resolution is sometimes hard to predict with changing network conditions, one option is to use the dimensions of the highest bitrate video clip as fullScreenSourceRect.
To avoid quality issues with lower bitrates, turn on smoothing in case the stream dimensions don’t match the video object size.
This method might impact the performance, since streams with smaller dimensions need to scale to the video object
An alternative method is to predict the maximum possible resolution and use it as default fullscreen resolution. This might not offer the best possible quality under certain conditions (in case of upgrade to higher video quality/size during fullscreen), but offers the best performance.
If you use Flash Player 10 with GPU fullscreen (described above), multiple bitrate is not an issue - it's possible to change the scaling during transition.
I’m frustrated by Flash’s full screen mode. I move my browser (Firefox, IE or Oprah) to my extended display hooked up to my Vizio HDTV via HDMI and pop it into full screen mode. Great, looks fine!
I then move my mouse back to the other display and any click of the left mouse button pops Flash of full screen mode on the extended display. I thought the ESC key was supposed to exit full screen!
I can’t use my computer while watching a film in full-screen mode. How can I disable the right-mouse-button from exiting full screen mode in Flash?
I've got another question, you might have the answer to. I want to use fullscreen and fullscreenRect. But limit it to max to a video of 1280x720. Pretty hard to do so, because you will have to calculate the scaling factor etc. etc... I have something that is almost doing what I want.
But I've noticed another strange thing. When you have and extended display, the Capabilities.screenResolutionX and Capabilities.screenResolutionY returns the dimension of my primary display. In air you have something like Screen to get the dimensions. But Flash doesn't have this....
Maikel - yes, there is some calculation required to figure out the best match. Take a look at the source of the "Fullscreen performance" player on this site, it has a code example. For the screen resolution, try to use Stage.fullScreenWidth/Height instead.
Interesting upcoming webinars with Adobe and Streamingmedia.com StreamingMedia.com has kicked off a new series of “Ask Adobe” webinars. Join us on 9/10th to learn more about the Flash Media Server roadmap with Adobe’s Kevin Towes and Dan Rayburn as they discuss the future plans and how you can be successful distributing high quality video online. ... Demo of Flash P2P video with AIR for Android over 3G Flash Player 10.0 introduced RTMFP and FP 10.1 RTMFP groups, both powerful P2P features. In parallel AIR for Android is getting ready for primetime, with full support of Flash Player 10.1, local camera/mic and P2P. ... Crystal-clear HD with Adobe HTTP Dynamic Streaming Released a couple of weeks ago, Adobe HTTP Dynamic Streaming combines the features of streaming, with the advantages of HTTP scalability. Besides traditional RTMP streaming, and the P2P functionality of Flash Player 10.x, it offers an additional option to deliver your high quality video content - live and on-demand, with full Flash Access DRM protection.... U.S.-Algeria World Cup match largest U.S. live sports event on the web It's official, ESPN reports the U.S.-Algeria game broadcasted on ESPN3.com broke a new record for the largest live sports event audience on the web in the U.S..... World Cup and Wimbledon on ESPN3.com As if the World Cup wouldn't be enough to fill your day, Wimbledon started as well this week, and ESPN3.com is covering it.... Watch the 2010 FIFA World Cup South Africa live on ESPN3.com It's time again for the biggest sporting event of the world. If you live in the United States, the way to watch the games is on ESPN/ABC, with 52 out of the 64 games on ESPN (see World Cup TV schedule)....