Dynamic streaming
Short Film: Bridge - 1080p

Fullscreen performance
Best practices + player

Flash Player 10.1 for Android
Is a reason for me to switch from iPhone to Android
I already have an Android phone
Wait for other platform support (HP/Palm, RIM, WiMo,...)
I keep my current phone without Flash

View Results

Broadband Sites
CBS Flash HD Gallery
Epix HD
Favourite Website Awards
Hulu
Immersive Media
StreamFlashHD
Vimeo

FMIS Demos
FSW Videochat

Flash Resources
Adobe Catalyst
Adobe Flash
Adobe Flex
FFDmag
Flashkit
Flashmagazine

Flash Media
Adobe Flash Media Server
Distribution
Flashcomguru
Open Source Media Framework
Video encoding

Flash Streaming Providers
Adobe FVSS

FMIS Hosting Providers
Flashcomguru list
Influxis
Uvault

Weblogs
Big Spaceship Labs
Dan Rayburn
Fabio Sonnati
Flash Media Blog
Flash Platform blog
Kevin Towes
Richard Galvan
Ryan Stewart


Twitter Updates

Friday, May 8th 2009

Flash fullscreen best practices

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.

More information
Flash Player 10 GPU mode (Tinic Uro).
Exploring full-screen mode in Flash Player 9 (Adobe Developer Connection).


Posted by Jens Loeffler | 09:38 am

<< Previous: Masters Tournament - live in HD | Home | Next: Festival de Cannes - Flash HD gallery with FMS 3.5 dynamic streaming >>

Visitors comments (10376 Views)

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?

- Shawn


:: Posted by Shawn History | January 23, 12:34 pm

#shawn: you can't disable it.

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....

:: Posted by Maikel Sibbald History | March 04, 03:28 am

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.



:: Posted by Jens History | March 04, 12:26 pm

Thank you very much. Still trying to find a way to use hardware scaling and show some kind of normal looking controls. haha.... pretty hard...

:: Posted by Maikel History | March 23, 09:11 am

Comment this Posting:  
Name*:
Keep in mind:
HTML tags will be removed.
Only well-formed URLs will be automatically parsed as links (use 'http://).
Use the "Just 'Listen'" button to subscribe to the thread without leaving a comment.
I reserve the right to delete offensive or unsigned comments.
Email:
URL:
Comment*:


Recent Posts

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)....

Recent Comments

Anon on Flash 'vs' H.264 demystified

ed hardy on Demo of Flash P2P video with AIR for Android over 3G

Jens Loeffler on Demo of Flash P2P video with AIR for Android over 3G

Scott on Demo of Flash P2P video with AIR for Android over 3G

ashley on Eminem.com - another great site by wefail

John Walshaw on Watch the 2010 FIFA World Cup South Africa live on ESPN3.com

Popular Posts

Watch the 2010 FIFA World Cup South Africa live on ESPN3.com (48347 views)

Flash on Android - Top 5 reasons why you won't be able to live without it (45396 views)

The Evolution of Online Video - Adobe HTTP Dynamic Streaming and OSMF released (44264 views)

Google I/O Flash highlights (43210 views)

UJAM - Revolutionary Music Editor based on Flash Platform (39032 views)

2010 FIFA World Cup Kickoff Concert (38334 views)

Archives

Feeds

RSS 1.0 
Subscribe to feed   Add to Google

Updates via email (Feedburner):

Search
Loading

Copyright (c) 2010 Flashstreamworks