Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Disable Adobe Flash Player hardware acceleration in the embed code or AS

We run surf camera streams on our website, which are played via the latest version (5.4) of JWPlayer on our pages.

Recently we switched over to another streaming service, and H.264 streams, as we are planning on streaming out to iOS devices in the very near future, however this introduced a bug on the client side where users to not receive vision (they only see a black screen where the video is normally seen).

We have discovered that disabling the Hardware Acceleration (which was introduced in Flash Player 10.1+) fixes this issue, and given the spectrum of environments where this issues is happening I would wager that this is related to specific graphics cards, their drivers, and how they handle the vision decoding etc.

The documentation we have found relating to disabling Hardware Acceleration only indicate that this can be done via the wmode param, i.e. by setting it to wmode="opaque" or wmode="transparent" however this doesn't seem to work in all cases (for the most part the issue is no longer there) however we are still seeing 30% of our users getting this issue.

We can ask the users to disable hardware acceleration themselves, and we have provided details on how to do this, however to me that is only a temporary fix, and I was curious as to whether or not there was something more permanent we can put in until Adobe fix up this issue?

like image 359
Matthew Savage Avatar asked Jan 18 '11 06:01

Matthew Savage


1 Answers

So, I found a solution to the issue - its kind of two part though.

Firstly: Setting wmode="opaque" or wmode="transparent" will disable hardware acceleration - unfortunately there was more involved in the issues we were experiencing, as detailed below.

Secondly: The issue we were continuing to experience was related to the type of stream we were sending out. Our streams were the kind you see from beaches or snowfields etc (aka snowcams, surfcams) - and of course, the sound of the beach or wind up in the mountains is pretty boring, so we don't send audio in the feed.

It turns out that this was the cause of the problem. The H.264 decoding was failing, mostly on Macs, but more or less on any 10.1 players if there was no audio data being sent. The solution for this was simple - enable the audio channel at 0dB (or whatever muted is) and bam the streams start running again.

This isn't an optimal solution, because it adds a 16k overhead to our stream which we would rather put towards higher quality vision. I have raised a ticket with Adobe, FP-6085 so hopefully this will be addressed in a future release. Or 'HTML5' streaming will become a reality across all browsers.

like image 156
Matthew Savage Avatar answered Sep 18 '22 05:09

Matthew Savage