How can I solve the "browser does not currently support any of the video formats" message?

Recently I have begun getting the following message in Firefox on about half the videos on YouTube, forcing me to use Chrome "Your browser does not currently recognize any of the video formats available":

enter image description here

When I get this I have to open Chrome and paste the URL in there to watch the video which is insanely annoying. Opening the info page (https://www.youtube.com/html5) shows the following:

enter image description here

How can I (A) find out what formats the video has, and (B) how to make Firefox support those formats?

(This is the latest version of Firefox, I do immediate updates whenever new versions come out. The current version is 49.0.2. This is a Windows box.)


Solution 1:

This problem occurred when I watch a YouTube live video with Firefox on Ubuntu.

Installing ffmpeg solved my problem:

sudo apt install ffmpeg or

Same fix on Fedora 26 Workstation with Firefox 56 (x64):

sudo dnf install ffmpeg

Solution 2:

Tyler, as others have mentioned Firefox supports HTML5 video natively. If your Firefox installation does not, please try the following steps:

First, disable all the add-ons in your browser and try visiting Youtube again. If Youtube works, you can go through and enable single add-ons at a time, testing each time to make sure video plays correctly.

Next, if you're still not able to play Youtube videos natively, remove Firefox entirely and then go to https://www.mozilla.org/en-US/firefox/new/ and download a fresh copy of the latest version and install it.

UPDATE: More clarity on HTML5

HTML 5 is essentially a container, a WAY to deliver video, it is not the video codec itself.

In the picture you show, the HTMLVideoElement is the code that Youtube uses that the browser knows how to handle, but it doesn't actually encode the video, it's just the container the video is delivered in.

The video itself must be encoded in one of several formats, which are the other parts of the picture: h264, WebM, MSE, etc.

So, your browser knows how to handle the container, but it should also know how to handle the encoding formats itself, and that is where your problem lies.

If you look into the Stats For Nerds that @Scott Chamberlain mentions in his comment above, you will never see HTMLVideoElement listed as the encoding format. You will, however, find each Youtube video is encoded using h264 or WebM or MSE, and, once again, this is what your browser is failing to do and what you must troubleshoot, and the steps I've outlined above are the correct first steps to doing so.