Closed Bug 1180108 (decoder-doctor) Opened 9 years ago Closed 4 years ago

[meta] [Decoder Doctor] Provide codec problem notification UI/SUMO help when video playback fails due to Windows Media Foundation being broken

Categories

(Core :: Audio/Video: Playback, task, P3)

Unspecified
Windows
task

Tracking

()

RESOLVED FIXED
Tracking Status
firefox42 --- affected

People

(Reporter: cpearce, Unassigned)

References

(Depends on 1 open bug)

Details

(Keywords: meta)

We rely on Windows Media Foundation to be functional in order to play HTML5 <video> on Windows Vista and later. Unfortunately, often we find that the user doesn't have a working version of Windows Media Foundation available. This can happen because: * User has disabled WMF or its codecs using Codec Tweak Tool program, which renames the DLLs. * User has installed another codec pack like K-Lite or Haali Media Splitter that overwrites/deregisters WMF system codecs. * User has a version of Vista without the "Platform Update Supplement for Windows Vista" update, so they don't have the codecs installed. * User has Enterprise or Server N or KN variants of Windows, without the "Media Feature Pack" installed. Windows XP also doesn't have WMF. When WMF is not functional and a site tries to use <video>, playback will fail and the user won't know why. We should stick up some UI to help the user get into a working state. There are three parts to this problem: 1. Decide on desired behaviour; at what point should we notify the user? Should we throw up a message if HTMLMediaElement.canPlayType("video/mp4") fails because WMF isn't working? If we do that, we could end up showing UI when the user has fallen back to flash and is already successfully playing video. Or should we wait until a video element errors due to loading to show our UI? Then we won't ever get off Flash. 2. Gecko work; we'll need to send a message from content to chrome to notify JS that we can't play video due to WMF being broken. Or provide a function that chrome JS can call that unambiguously determine that WMF is broken. 3. Firefox work; implement the UI to help the user. --- Additional info: Note that since Firefox 39/Bug 1160321, on Windows Firefox's HTMLMediaElement.canPlayType() implementation will ensure that it can instantiate a WMF decoder, before reporting that we support H.264 and AAC. A site *should* check that before using <video>, and fallback to Flash if it reports MP4/H.264/AAC won't work. Not all will though, and we want to get everyone off Flash. More info on Media Feature Packs for Windows N and KN versions contains: Win 8.1 - http://support.microsoft.com/kb/2929699 Win 8 - http://support.microsoft.com/kb/2703761 Win 7 - http://support.microsoft.com/kb/968211 See also: bug 1178921: recent failure of Facebook video, suspected due to this issue. bug 848994: where I mentioned this for Enterprise/Server specifically, but the requirements have become clearer since then, so I've filed a new bug.
Benjamin - can you find someone in Firefox who can help with the UI side of this issue?
Flags: needinfo?(benjamin)
The most important thing to figure out is what we want users to do. There is no point in showing the user any notification unless there's something they can do about it. It seems that we have a set of known causes, plus a set of unknown causes here. For the known causes, are there automatic or manual steps to fix the problem? We may need to work that out with SUMO. For the unknown causes, is there additional data we want to collect to diagnose the problem? That might be the UI you need. The UX designers can help with design/wording/appearance, but they will still be relying on your team for the message you actually want to send. I suspect that we should start this out by only showing help if there is a broken video. Once we have confidence in the mechanism, we could try showing some prompts earlier when .canPlayType is called, but we shouldn't do that until we have confidence in the system.
Flags: needinfo?(benjamin)
Anthony, creating a SUMO page about the WMF problems (and fixes) seems like a prerequisite for any Firefox UI. For extra credit, the UI could deep link to anchor tags for the user's specific WMF problem (e.g. renamed DLLs; using Windows Vista or Server N without with codecs installed; ...). If you create a rough draft in a Google Doc, I can get SUMO to polish and publish it. Some incomplete SUMO pages about WMF already exist. We might want to update or remove them, e.g. https://support.mozilla.org/en-US/kb/vine-and-other-html5-videos-wont-play
Flags: needinfo?(ajones)
Summary: Provide UI when video playback fails due to Windows Media Foundation being broken → Provide UI/SUMO help when video playback fails due to Windows Media Foundation being broken
Depends on: 848994
Flags: needinfo?(ajones)
Summary: Provide UI/SUMO help when video playback fails due to Windows Media Foundation being broken → WMF UX: Provide UI/SUMO help when video playback fails due to Windows Media Foundation being broken
Javaun, Philipp, and I met to discuss WMF self-help UI. Here are our public meeting notes: https://docs.google.com/document/d/1JN2NB9UCdt2Q4_d6fB1iir34hklPK6G-3TV_zEi5MnY/ Telemetry reports that, of Aurora 42 users, about 5.83% can't instantiate a WMF AAC decoder and 6.27% can't instantiate a WMF H.264 platform decoder.
The telemetry quoted in comment 4 is inaccurate because it includes Windows XP, which never has WMF decoders. Excluding XP, we see that only about 0.28% can’t instantiate WMF’s H.264 platform decoder and 0.31% can’t instantiate WMF’s AAC decoder. * VIDEO_CAN_CREATE_H264_DECODER telemetry report: http://is.gd/of5rkQ * VIDEO_CAN_CREATE_AAC_DECODER telemetry report: http://is.gd/BAAFgi cpearce says that part of the discrepancy between the H.264 and AAC failure rates is that WMF can sometimes instantiate an H.264 decoder which later returns an unexpected decoding error. This happens when the user has renamed their WMF DLLs using CodecTweakTool. cpearce has prototype code to test whether an instantiated H.264 decoder can actually decode video, but that is beyond the MVP scope of this feature.
Assignee: nobody → cpeterson
Keywords: meta
Summary: WMF UX: Provide UI/SUMO help when video playback fails due to Windows Media Foundation being broken → WMF Support UI: Provide UI/SUMO help when video playback fails due to Windows Media Foundation being broken
Summary: WMF Support UI: Provide UI/SUMO help when video playback fails due to Windows Media Foundation being broken → [meta] [WMF UI] Provide codec problem notification UI/SUMO help when video playback fails due to Windows Media Foundation being broken
Depends on: 1160424
Alias: decoder-doctor
Summary: [meta] [WMF UI] Provide codec problem notification UI/SUMO help when video playback fails due to Windows Media Foundation being broken → [meta] [Decoder Doctor] Provide codec problem notification UI/SUMO help when video playback fails due to Windows Media Foundation being broken
Depends on: 1150294
Component: General → Audio/Video: Playback
Product: Firefox → Core
Assignee: cpeterson → nobody
Severity: normal → N/A
Type: defect → task
Depends on: 1690161
Priority: -- → P3
Depends on: 1690407

As this feature has been finished long time ago, the remaining tasks are just improvement or bugs fixing. I will mark this as closed, but still use this meta to track any following issues.

Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Depends on: 1690661
Depends on: 1691578
Depends on: 1649532
Depends on: 1695362
You need to log in before you can comment on or make changes to this bug.