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

Thursday, September 24th 2009

Performance comparison of Flash fullscreen techniques

With more and more HD content on the web, the performance requirements to play video increase. Dynamic streaming is an important way to circumvent those issues by automatically adjusting the video quality based on performance and bandwidth.

But it's not just the performance impact of the video decoding (which is related to the video encoding settings) could slow down fullscreen playback - there are a couple of things you can do in the fullscreen mode to improve performance. This is specially important for HD playback, e.g. if you are planning to connect your computer to your 1080p television to play video, and you want perfectly smooth playback.

I wrote a blog post outlining some best practices, but here is a demo to add a little more color:



This is a comparison of 3 common techniques. All of them use the fullScreenSourceRect to switch to fullscreen mode (Flash Player 9 feature).

1. Fullscreen mode with software scaled video and smoothing
In the this case the fullScreenSourceRect matches the screen resolution of the current screen, and the player scales the video with smoothing to fill the area. This is a common approach to keep the controls and UI crisp, but the slowest mode because the video scaling and the smoothing are done through the CPU. In most cases the performance is still acceptable, but it might not be ideal for high end use cases with a lot of scaling.

This mode was originally used for SD, but is less effective for HD. First the difference between the HD video size and the screen resolution might not be as significant anymore (therefore the controls won't scale/blur too much), and also for "lean back" use cases where the display is e.g. a television, it might not be desired to have crip 1:1 pixel controls - since they are simply too small.

2. Fullscreen mode with software scaled video without smoothing
This approach uses the same technique as the first mode, but without the smoothing for the fullscreen video scaling. Although the quality will suffer (more pixelation during scaling), the performance will increase. Since it's possible to measure the video performance during playback, you could adjust smoothing based on the current playback performance. If e.g. the framerate drops under 20 fps, you could seamlessly turn off smoothing in fullscreen.

This improves the performance, but is still not as fast as the last mode.

3. Fullscreen mode with hardware scaled and smoothed video
This is the fastest possible mode - the fullScreenSourceRect matches the video area (1:1 pixel mapping), and although the controls might appear slightly blurrier, the GPU will take care of the video scaling as well as smoothing. This is supported by Flash Player 9.

For SD content the mode has UI overlay scaling disadvantages, but for HD content the advantages to have smoother playback might outweigh the only slightly blurrier controls.

Conclusion
All modes perform relatively well for their use cases, but it's important to know the differences and to prioritize according to the use case. Again, this is all for Flash Player 9 - you can find more details about the FP10 GPU mode here and here. The demo allows you to specify your own H.264 RTMP URL for performance tests. Enjoy!

Flash Fullscreen performance application.
Source code.

Posted by Jens Loeffler | 09:02 am

<< Previous: Flash Access 2.0 announced - comparison to FMS protected streaming | Home | Next: Can't attend MAX? - Watch the conference online! >>

Visitors comments (9540 Views)

thanks jens Ive been reading all your posts and your certainly an expert at this!
I take it all your videos are 24fps? Ive been trying to get smooth 30fps at 1080p and really struggling.
Could you point me in the right direction for a FP10/1080p/30fps approach? I downloaded the source from your 1080p FMS demo, would that be a good place to start?
thanks again



:: Posted by george coltart History | September 25, 07:54 am

I would use this player and point it to a 1080p video, then switch to fullscreen mode (fast) and see how it performs. As reference try it with this URL rtmp://vod.uvault.com/1527/mp4:hillman1080p_4060.mov. It's 24 fps. 30 fps should work as well, but normally you need to tweak the encoding settings for 1080p to get decent performance. This example is a simple Quicktime export though, not a lot of magic.

:: Posted by Jens History | September 25, 08:49 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 (48345 views)

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

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

Google I/O Flash highlights (43210 views)

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

2010 FIFA World Cup Kickoff Concert (38332 views)

Archives

Feeds

RSS 1.0 
Subscribe to feed   Add to Google

Updates via email (Feedburner):

Search
Loading

Copyright (c) 2010 Flashstreamworks