FlashComGuru Home InfluxisCDNImediaseeUvault
                                                                                       Forum Index | Active Topics | Register
                                                                                                          List Overview | List Archives
                                                                                                                           About this site | Advertise
 

home

Adobe AIR (10)
Applications (39)
Books & Training (11)
Collaboration (18)
Components (10)
Events (79)
Flash Player (33)
Flex (38)
FMS (109)
General (123)
Hosting (5)
Jobs (16)
Off topic (36)
OSMF (3)
Press Releases (23)
Site Check (11)
Tools (53)
Videos & Players (72)

Follow me on Twitter

 
By Jan Ozer, producer of Critical Skills for Final Cut Pro Streaming Producers

A while back I shared some playback performance numbers comparing the required CPU horsepower to play VP6, H.264 and VC-1 files. Briefly, in that test, I tested playback from the desktop using the FLV Player, QuickTime Pro and Windows Media Player, respectively.

While testing for my next training DVD, Critical Skills DVD for Final Cut Studio Streaming Producers, I rethought the test, deciding that it made more sense to test using the Flash and Silverlight Players, since that's how most of the audience would view these files. In this lengthy report, I'll detail the procedures and describe my findings.

To ensure that the test was fair, I contacted Kevin Towes from Adobe and Ben Waggoner from Microsoft. I produced the VC-1 file in Expression Encoder 2 using parameters supplied by Ben, and the H.264 file in Sorenson Squeeze using the MainConcept codec. I produced using the High Profile with all quality options set to the max, since this would create both the highest quality file and a file that was the most difficult to decode.

I produced VP6-S and VP6-E files in On2 Flix Pro. I produced all files at 1.6 mbps VBR in 720p configuration (29.97) and we used Inlet Semaphore to analyze the files and make sure that their maximum data rates were similar, since Be was concerned that extraordinary peaks in any file would present excess decode number.

Ben actually produced the Silverlight Player that I used in my test for reasons I'll explain later. You can download the bits he created at www.doceo.com/silverlight/SL_player.zip. I used a stock skin from Adobe Flash CS3 for the Adobe player. You'll note if you play the files that the features map evenly, with similar controls on both players. I uploaded all files to my own web site, www.doceo.com, where they exist until this very day.

Silverlight: http://www.doceo.com/silverlight/test.html
H.264: http://www.doceo.com/h264/test.html
VP6: http://www.doceo.com/flv/test.html
VP6-S: http://www.doceo.com/flvs/test.html

I tested playback on the computers identified below using the following procedures:

- Stopping playback of the files and making sure the file was fully downloaded before playing
- Resizing the browser so that the player was fully presented with no other windows above any portion of the browser
- On Windows systems, I played the file, then recorded the total CPU utilization every second for the duration of the file (about 93 seconds). If the utilization figure didn't change from second to second, I recorded it separately each second (you'll see what I mean if you try this). Then I divided this by the number of samples to produce the average CPU utilization.
- On the Mac, I set Activity Monitor to report once every two seconds, and then captured and reported the average CPU utilization for just the browser.

Here's what I found:

 

Flash VP6E

Flash VP6S

Flash H.264 - High

Silverlight

 

 

 

 

 

PowerMac Dual 2.7 GHz PPC G5, OS 10.4.11, FireFox, Flash Player 9.0.115.0, SL 1.0.30401.0

 

 

 

 

Processor (percentage of 2 processors)

72.0%

66.3%

85.8%

108.0%

Drop frames

No

No

Yes

Yes

Estimated frame rate

Full

Full

5-6 fps

1-2 fps

Drop audio

No

No

Yes

No

HP xw4100, 3.0 GHz P4 with HTT, Windows XP, FireFox Flash Player 9.0.124, SL 1.0.30401.0

 

 

 

 

Processor

54.6%

51.5%

45.1%

52.5%

Drop frames

Yes

Yes

No

No

Estimated frame rate

25 fps

27+ fps

Full

Full

Drop audio

Yes

No

No

No

iMac, 2.0 GHz Core 2 Duo, OSX, Flash 9.0.124.0, SL version 1.0.30401.0

 

 

 

 

Processor

87.5%

91.7%

NA

NA

Drop frames

Yes

No

Yes - stopped

Yes - lost synch

Estimated frame rate

2 fps

Full

stopped

1 frame/3 seconds

Drop audio

Yes

no

Yes

yes

HP 8710P, 2.2 GHz Core 2 Duao, Vista, IE, Flash 9.0.124.0, SL 2.0.30226.2

 

 

 

 

Processor

51.9%

52.0%

34.8%

47.3%

Drop frames

No

No

No

No

Estimated frame rate

Full

Full

Full

Full

Drop audio

No

No

No

No

Dell Precision 390, 2.9 GHz Core 2 Duo, XP, IE, Flash 9.0.124.0, SL 2.0.30226.2

 

 

 

 

Processor

22.7%

17.5%

7.7%

26.0%

Drop frames

No

No

No

No

Estimated frame rate

Full

Full

Full

Full

Drop audio

No

No

No

No

Observations

On the Windows platform, H.264 Flash was always less computationally intense than VP6. On the Mac, the situation was reversed, though I was testing with either older or low power current Macs. I'd be interested if anyone out there with a beefier Mac could run these tests and supply some details.

- VP6-S, which is supposed to be the easy to decode version (think VP6-S for simple) wasn't consistently easier to decode than VP6-E (think VP6-E for excellent). On the two lower end Macs that I tested, however, VP6-S was the only format that played at full frame rate with no audio breaks. On the xw4100, VP6-S played smoothly and without audio breaks, while VP6-E played fewer frames and suffered several audio breaks. If I was producing HD video and I cared about older Mac and Windows computers, I'd strongly consider VP6-S.

- H.264 was never required a higher CPU% than Silverlight, but the difference never mattered. On all computers where one codec failed, the other failed as well. One thing that I learned during this process was that while Windows Media Player does play back using the graphics card CPU (or GPU), Silverlight doesn't. For this reason, it's not as efficient as Windows Media Player.

- The skin used to create the Silverlight plug-in can dramatically impact the CPU required to play the file. For example, the first Silverlight player I created (using a template from Expression Encoder 2), which you can try here (www.doceo.com/SL/SL.html) required 78% of the CPU when playing back on the HP xw4100, compared to 52.5% for the Silverlight player that Ben created. In particular, note that all templates from the Expression Encoder are scalable by default, and scale the player window according to browser size. Given that the Silverlight Player doesn't use the GPU, I wouldn't use an EE2 template for HD content.


If you find this information useful then I highly recommend you check out Jan's latest publications Critical Skills for Final Cut Pro Streaming Producers

Related Articles

Comments
[Add Comment]
Interesting read. In my experience, VC-1/Silverlight does perform a little better than Flash/H264 though.

The player from Ben Waggoner is optimized in terms of its non-scaling graphics, but its scripting still lacks optimization (e.g. it includes the 6.000 lines of Microsofts JS framework). Perhaps changing that can make a difference. I setup a small test too:

http://www.jeroenwijering.com/embed/sltest.html
http://www.jeroenwijering.com/embed/h264test.html

With a quick first test I am finding that both h264 player run at about 115-120% CPU of my Core2Duo 2.0 gHz MAC. Both Silverlight players perform at about 95-100% though. Silverlight 1.0.30109.0 and Flash Player 9.0.124. So much for javascript optimization.

A nice thing about Flash is its hardware-accelerated fullscreen. Push the fullscreen button on the H264 JW player and see the cpu drop to 50%. Silverlight, on the contrary, spikes to 150%. If only HW-accelerated windowed mode were possible...

Totally agree on the badly performing VP6 codecs. They are a pain for large-screen videos. The real pain for VP6 is not in decompressing, but in compressing though. It takes 2x/4x the time it takes to compress H264 or VC-1 files. This is obviously a huge drawback and one of the reasons (next to the licensing) that all these YouTube-like sites still use Sorenson Spark FLV.
# Posted By JeroenW | 7/2/08 8:24 PM
It is a pity you did not use Qicktime !
The real reason could be that the result would had shamed Flash !
And about the usage argument, this is quite a poor one, cause who is really using Silverlight today (I mean. for real buisness, not for demo pay by microsoft ?)
Anybody with an iPod or an iPhone has QuickTime on its desktop. As for doing some real work with advanced capabilities with Flash or Silverlight, they are still missing the precision of Quicktime. Especially when it comes to the frame by frame navigation. For more about that, see :
http://blog.vrarchitect.net/post/2008/04/18/challe...
# Posted By Pascal V | 7/3/08 8:06 AM
Jan, thanks for the interesting and intelligent reporting. VC-1 has finished last in your 3 last 'Quality' tests and now finishes last in your 'CPU performance measure'. I'm sure that is surprising to some, not so to those that know the VC-1 (WM9) codec. To think, after the move to 'standards' group, MSFT owns less than 5% of the their last place video tech. To me, this explains why MSFT jumped at integrating the 'Move Networks player' into Silverlight 2.0 . Any one that has seen their ESPN 360 video, knows why. Have you done any testing on Move Networks video and VP7?


Jeroen, how could you see that the VP6 codecs performed 'badly'? Here's how I scored it for the tests 1 through 5, followed by the total score.....
F-VP6E   2, 3, 2, 2, 3 =   12
F-VP6S   1, 3, 1, 2, 2 =   9
F-H.264   3, 1, 4, 1, 1 =   10
SL-VC-1   3, 2, 4, 2, 3 =   14
I scored VP6S and H.264 on top and VC-1 last. The answer in these 'performance' tests is Flash out performed Silverlight.
As Jan mentioned, H.264 wins on the Windows platform and VP6S wins on the OS platform. If you're looking for strong performance across the the most devices, it's VP6S.
This is consistent with Jan's recent video 'Quality' results. Jeroen, honestly, you might want to have a a read here....
http://digitalcontentproducer.com/videoencodvd/rev...

You mentioned a licensing 'drawback' to using VP6? On2 codecs are proprietary, H.264 and VC-1 licensing is through the MPEGLA & VIA patent pools. On2's licensing is flexible & comprehensive, H.264 and VC-1 commercial applications pay the pools fees for usage, plus the cost to develop & maintain the video application. There are developers/designers, content providers, SoC/DSP makers and device makers that pay for the 'video tools & tech'. The developers/designers pay more for VP6....
...the content providers, SoC/DSP makers and device makers pay more for H.264 and VC-1. I guess it all depends on who's picking up the tab...
To keep you in tune with licensing, here's a link to the MPEGLA and VIA pool sites for licencing....
http://www.mpegla.com/avc/AVC_TermsSummary.pdf


ADBE, MSFT and Sun are going to battle in the RIA space and are looking to 'write once-to all screens' strategies. Content providers are battling for 'eyeballs' and also racing to take their content to the '3 screens'. Advertisers are moving digital and looking to 'targeted' eyeballs and expect to reap rewards in the move to video convergence. The bottom line appears to be a boon for video and the technology behind it. The testing above agrees with many before it, H.264 and On2's codecs are world-class and are at similar levels of quality and performance. Here's a question, what is the H.264 codec worth? What are the annual revenues from MPEGLA and VIA? Indeed, interesting times?
FYI, First, You Tube utilizes F7 video because they use it for free and second, the 'Flix Engine' transcodes to VP6 in over 80% of UGC sites today.
Jeroen, what else would you like to learn about video today?
# Posted By jhm212 | 7/11/08 3:58 AM
Hey jhm, Jeroen could probably school you in video encoding quite easily. Technically speaking you don't appear to know jack. The only reason why VP6 looks so good to you is because you have sunk your entire life savings into it's worthless 40 cent stock.
# Posted By S.P. | 7/11/08 3:43 PM
Hello SP, hope you had a great day too. So you didn't want to talk about video, you wanted to talk about one of my many investments? Technically speaking, it looks like you have some bad information. This site, the content and the comments are on video technology, it's not an investment message board. I guess you just forgot where you were....again!
Shame on you....OK, for your punishment, write the words 'honesty', 'morality', 'integrity', 'ethics' and 'charity' each 10,000 times....then apologize to this forum for your pollution.
# Posted By jhm212 | 7/11/08 11:45 PM
Hey jhm, you want to talk about video? Well then there is no need to mention On2 as their codecs are going extinct. H.264 is the here and now and future.
You want to talk about honesty, morality and integrity? Not until you get some. You post lies about On2 on every blog and message that you can to try and pump your worthless stock.
# Posted By S.P. | 7/12/08 12:42 AM
"To me, this explains why MSFT jumped at integrating the 'Move Networks player' into Silverlight 2.0."

Huh? Move Networks player isn't being integrated into Silverlight 2, nor will Silverlight 2 natively support VP6/VP7. Get your facts straight.
# Posted By Sam | 7/19/08 5:04 AM
I think he meant Move's streaming technology not "player". Also this seems to be confusing some people that Silverlight is going to use the VP7 codec. That's not happening.
# Posted By LM | 7/19/08 8:36 PM
Hey SamIam and LM,
1) Move's tech is integrated into the Silverlight 2.0 plugin...this allows anyone with Silverlight 2.0 installed to view content delivered by Move Networks, without a separate download.
2) For NBCU, the Olympic media player, powered by Silverlight, was designed by Schematic, (Move's player designer, ABC (Emmy) and ESPN360).
3) So far, it doesn't appear that they are using 'adaptive streaming' yet and the video quality isn't great.....so likely VC-1. As the games begin and they switch to some of Move's content produced for Televisa, the quality difference will be very noticeable. NBC just announced the deal for Sun servers, so they appear ready to scale for the volumes they will see.
4) MSFT has on several occasions acknowledged that Silverlight will support more than just the 'legacy' format. That's great for Silverlight because if it's success is dependent strictly the performance of VC-1, they're in serious trouble! H.264 and VPx are both superior to VC-1 in quality AND performance! Where've you been?
So SamIam, get your facts straight, OK!!
# Posted By jhm212 | 7/23/08 1:16 AM
JHM, stop making up stuff and selling it as facts.

1) FALSE. There is no Move technology in Silverlight 2. Ask anybody at Microsoft or Move. Search the SDK. It's not there.

2) TRUE. Schematic did design the Olympics Silverlight player, but the Olympics player has nothing to do with Move Networks.

3) FALSE. NBC Olympics website is already using adaptive streaming for some videos. The adaptive streaming technology was designed by Microsoft as a managed code plugin for SL2. NBC will not be using Move technology anywhere on their Olympics website. All videos are VC-1 encoded.

4) TRUE & FALSE. Yes, MS will likely add additional formats to Silverlight, but VP6 seems unlikely due to its high cost. H.264 seems more likely, but H.264 decoders performs *WORSE* than VC-1. Their quality is entirely dependent on the encoder implementation and configuration.
# Posted By Sam | 7/24/08 7:32 PM
I wonder where you're getting your "facts" Sam... this dude appears to work for MSFT and contradicts what you're saying:
http://video.aol.com/video-detail/steve-sklepowich...
# Posted By Phillip Kerman | 7/26/08 6:11 PM
Sam, you know I'm not making anything up...so actually, what are you selling???
MSFT announced their intentions, whether they get it done is on them, but don't try to paint the Move deal as if it never happened.....we'll see in the final release....
Move's (VP7) ESPN360 and ABC HQ video would be a boost to their Olympic offerings....it's better video than VC-1 offerings and Sam, even as a blind man, you see the difference!!

Yes, I agree Silverlight adds 264, right next to it's VC-1 standards based licensing.....
....but you don't believe there are are customers that want 'better' licensing deals using VPx???
Encoding and 'volume deployments' are two different things....the On2 model offers flexibility that the pools can't match, what do you or your potential deployments think of these...
http://www.streamcrest.com/MPEG-4%20AVC%20License%20Proposals1.pdf
# Posted By jhm212 | 7/27/08 6:31 AM
Hi everyone,
I work for Microsoft and I've been involved with the NBC Olympics project and I can confirm much of what Sam has stated is true.

Move Networks is not being used for NBC Olympics adaptive streaming. NBC is using a custom solution built by Microsoft. Silverlight 2 offers an API called MediaStreamSource which allows anybody to build custom code for streaming/download - and this can easily be applied to adaptive streaming too.

The article that Phillip mentions specifically says that Televisa is using Move for adaptive streaming of Olympics content to Spanish-speaking audiences. That's not NBC.

Most content on the NBC website that isn't Live or Rewind, typically identified as Highlights or Encore, is using adaptive streaming for delivery to the Silverlight player. You must use the Enhanced mode of the NBC player to experience this, and have at least 1.5 Mbps of bandwidth available.

Comparing NBC Olympics to ESPN360 or ABC HD is comparing apples and oranges. NBC Olympics doesn't offer true HD and the maximum bitrate is intentionally limited to 1.5 Mbps in order to reach the broadest audience. VC-1 or VP7 quality doesn't enter into it at all - the bitrates simply don't match up for a fair comparison.

And to the best of my knowledge, I'm not aware of any plans for Silverlight 2 to offer native support for Move adaptive streaming or bundle the Move plugin with Silverlight. I know that Move is planning on supporting Silverlight - but that's all I've heard.
# Posted By Alex Zambelli | 8/13/08 10:19 PM
Thx for the comparison. I have written a player for playing video as well. If you are interested, you may take a look.

http://www.shinedraw.com/multimedia/flash-vs-silve...
# Posted By Terence Tsang | 12/23/08 2:37 PM