1.) Introduction & Explanation
This is one thing that has brought to me by two users ([SK1] on [Voodooalert] and [liquidLD] who talked to me about this on IRC), and because I got a bit pissed off by it myself, I decided to look into the matter. Basically, HTML5 video on Windows XP / XP x64. But not just with webm (VP8/VP9), but also with H.264/AVC. Let’s face it, a lot of videos on the web rely on H.264 and sometimes you simply can’t watch certain videos or you won’t get all the available resolutions. Of course you could just rely on Adobe Flash, but since Google basically took over with their Pepperflash plugin and their Chrome browser no longer supports XP, it’s not the best move either. Especially when you think about Adobes’ history with critical security loopholes in Flash. HTML5 is just much, much safer, and free as well, and Firefox still supports XP.
Note that this guide is thus based on Firefox exclusively. Anything starting with version 47 should work, official support came in 49, and I’ll be using the current version, 51.0.1 at the time of writing.
So, why doesn’t it “just work” in the first place? It did a few years back, right? Because H.264 playback relies on a DRM plugin, on Linux it would be the Google Widevine plugin, on Windows it’s the Adobe Primetime plugin. So yes, Firefox does support DRM out of the box. But even if content isn’t signed and encrypted, the browser still relies on those plugins to play H.264. And the problem is, that Adobe found some problems with that plugin on XP, so they disabled support on the platform. Their version 17 plugin is still being rolled out with the browser however, and it is binary-compatible with XP, so let’s show you how to re-enable it!
2.) Making it work
On Windows XP and XP x64, the plugin should reside in the folder:
%USERPROFILE%\Application Data\Mozilla\Firefox\Profiles\<your profile folder>\gmp-eme-adobe\17\
That folder should contain the files eme-adobe.dll, eme-adobe.info and eme-adobe.voucher. If it doesn’t (maybe because you have a DRM-free version of Firefox), just create the folder structure yourself, get the necessary files from [here] and place them in that folder.
Having the files present won’t enable Adobe Primetime for you however as you can see on
about:plugins (Note: The Cisco stuff you can see there is just for WebRTC, so it’s unusable for HTML5
<video>), we still need to tweak a few things on the
about:config page of Firefox. Look for the following properties and set them to the values shown below. If a property doesn’t exist yet –
media.gmp-eme-adobe.forceSupported most likely won’t – just create them yourself, all of them are boolean properties and all of them need to be set to
After making those changes, you’ll need to restart Firefox. Now you might already be good to go, but on some configurations,
about:plugins might show something like this:
Adobe Primetime seems enabled, but there is no file information? So it’s not actually loading the eme-adobe.dll yet (click to enlarge)
If that happens, open your preferences menu on the top right, click on “Add-ons”, then “Plugins” or just go to
about:addons. What you should be seeing is this:
Firefox plugin list showing Adobe Primetime (click to enlarge)
Manually activating the Adobe Primetime plugin, if necessary (click to enlarge)
However, if Adobe Primetime shows a notice saying that it’s going to be “installed shortly”, forget it. Just do it manually on the plugins’ options page you can see on the right image. To do so, click “Check for Updates”. The warning should be gone momentarily. After that, re-check
about:plugins, and you should be getting this:
Adobe Primetime fully enabled (click to enlarge)
Now you can do a quick check on the [Youtube HTML5 page], and it should confirm that everything’s working:
Youtube confirming full HTML5 video support including H.264 and Media Source Extensions (click to enlarge)
Firefox playing HTML5 H.264/AVC video on Windows XP x64 (click to enlarge)
With this, even stuff like Netflix works, because you’re getting not just H.264 playback, but also DRM support. Now, whether DRM support is a good thing or not… You’ll have to decide that for yourself. I’m not supportive of DRM content on the web, but if you want to view or listen to such content, you can!
Just one last word of warning though: Adobe has ended their support for XP with a reason, as the Primetime content decryption plugin has shown problems and instabilities on XP! I’ve been using this for about a week now, and I’ve had one case of a video getting stuck, which is a typical symptom of Primetime throwing up on you. Don’t worry though, Firefox won’t crash. Just move the video slider a bit or restart the video, and it’ll work again! You don’t even need to restart the browser, and such occurrences seem to be quite rare, so I’m fine with it.
There you go!
Big thanks fly out to [the guys at MSFN] who came up with all of this. I basically got 100% of my information from them, so thank you! You rock!
Update: If you update your version of Firefox to the latest and final 52.0 ESR (extended support release), the last version which will be officially supported until 09-2017 for XP, you might notice that Adobe Primetime just disappeared after the update. That’s because the installer may delete the property
media.gmp-eme-adobe.visible from your prefs.js. To reenable it, you’ll have to manually recreate the boolean property and set it to
Restart Firefox after the change, and the plugin should reappear on
Update 2: It seems there is an issue with fresh installations of Adobe Primetime when using Firefox 52.x ESR instead of Firefox 51.x ESR, as reported by [Newb the Newbd]. The solution is to open the URL
about:config in Firefox once more and look for
media.gmp-manager.url. Its value should look something like this:
https://aus5.mozilla.org/update/3/GMP/%VERSION%/%BUILD_ID%/%BUILD_TARGET%/%LOCALE%/%CHANNEL%/%OS_VERSION%/%DISTRIBUTION%/%DISTRIBUTION_VERSION%/update.xml. Edit that configuration option and replace the variable
%VERSION% with the string
51.0 to fake an older Firefox version. Now check for updates for Adobe Primetime in the plugins section of
about:addons. It should install and start working properly now!