Ustream, Flash Player Hardware Acceleration

I blame the near-death of this blog on my current place of employment, Ustream. It’s been a crazy, exciting, challenging 8ish months that has left me with few free waking moments. That being said, it’s been the coolest job I’ve ever had and I’ve found myself in some interesting spots I wouldn’t have otherwise.

working hard

Around August, I started noticing jittery playback on some streams, and adding to the troubleshooting complexity was the fact that they weren’t jittering for everyone. In fact, I could have two instances of the same feed open on my computer with one jittering and the other playing back smoothly. The first trend we noticed was that it was only happening on Macs. Next was that it seemed to happen most often in the Chrome browser. Ultimately we determined that the “trigger” for this jittering was GPU acceleration kicking in to assist with the H.264 decoding. For instance, on my MacBook Pro with 2.4 GHz Intel Core 2 Duo and NVIDIA GeForce 320M GPU, the jittering starts when the video is H.264, Main Profile, Level 4.0 with a resolution of 640 x 360 or greater. From the delivery side, we see the issue most often on streams coming from a Tricaster encoding Main Profile, Level 4.0 H.264 video. Adobe has several open bugs regarding Flash player hardware acceleration issues and we are anxiously awaiting a fix.

In the meantime there are a couple things you can do to get around the problem. If you’re doing the encoding, dropping the H.264 Profile from Main down to Baseline will eliminate the problem. I know many experts who are horrified by the idea of using Baseline profile H.264, but to be perfectly honest, unless you’re doing larger frame sizes and huge bit rates, I don’t think Main profile offers a drastic improvement in perceived quality. On the viewing end, if you’re seeing the jitter, you can CTRL+click on the player to bring up your Flash Player settings and disable the hardware acceleration. That process and the jitter itself are illustrated in the video I made below.

  1. March 27th, 2011

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s

Follow

Get every new post delivered to your Inbox.