I'm not sure since when, but MP4 videos are not playable anymore on Firefox. There's an error message in the Web-Console saying HTTP-Content-Type "video/mp4" is not supported.

OS: OpenSuse Tumbleweed
Firefox version: 83.0 (64bit)

Installed packages (among others):
ffmpeg-4, gstreamer-plugins-libav, libavcodec56, libavcodec57, libavcodec58_91, libavdevice56, libavdevice57, libavdevice58_10, libavfilter5, libavfilter6, libavfilter7_85, libavformat56, libavformat57, libavformat58_45, libavutil54, libavutil55, libavutil56_51

about:config settings that might be important:
media.ffmpeg.enabled = true
media.mp4.enabled = true
media.mediasource.mp4.enabled = true

Still, I'm getting on the Konsole:


Anything else that might be necessary? Principally it works, because Firefox on my other box runs embedded MP4 videos just fine.

As suggested in the comment, I've downloaded the video and run ffprobe on it:

Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'EprnqfLXYAgJV-e.mp4':
    major_brand     : mp42
    minor_version   : 0
    compatible_brands: mp41isom
  Duration: 00:00:02.20, start: 0.000000, bitrate: 55 kb/s
    Stream #0:0(und): Video: h264 (avc1 / 0x31637661), none, 200x200, 51 kb/s, 10 fps, 10 tbr, 100 tbn, 100 tbc (default)
      handler_name    : Twitter v2
Unsupported codec with id 27 for input stream 0

The Accept header for the video is also a bit suspicious, no mp4 there (and I'm getting status 206):
Accept: video/webm,video/ogg,video/*;q=0.9,application/ogg;q=0.7,audio/*;q=0.6,*/*;q=0.5

  • Does this affect all videos or just a specific one? In case of the latter, I suspect the container, codec or pixel format to be exotic. Please download the video and post the output of ffprobe -hide_banner thevideo.mp4. – Hermann Dec 20 '20 at 12:46
  • If you start with the environment variable MOZ_LOG=PlatformDecoderModule:5 It will show why it's not loading. – Artem S. Tashkinov Dec 20 '20 at 12:53
  • All videos. In this case from twitter. The browser doesn't even try to play the video as far as I can see. I'm adding the ffprobe output but I doubt the videos themselves are the problem, but how Firefox checks if it can play it. The Accept header looks suspicious: – WallaceNC Dec 20 '20 at 12:58
  • Hm, KDE codecs tries to install ffmpeg-3 which would be a downgrade from my installed ffmpeg-4, but I don't have vlc-codecs installed which I could try, It's break some dependencies though. And I'll have to switch repositories. – WallaceNC Dec 20 '20 at 13:12

OpenSuse doesn't support patent encumbered codecs out of the box.

Use either https://opensuse-community.org/ or http://opensuse-guide.org/codecs.php

  • I'm aware of that, but I was assuming I had the necessary codec packages already installed. I'll try vlc-codecs, that was the only one I'm currently missing. (As far as I know, Firefox doesn't use gstreamer anymore). – WallaceNC Dec 20 '20 at 13:15
  • Installing vlc-codecs worked, I'll give you that answer. – WallaceNC Dec 20 '20 at 13:37

Some more precise information that might be of interest:

I installed the vlc-codecs package and its dependencies and it worked. Then I uninstalled the vlc-codecs package again and it still worked after reboot. The zypper output gave some hints to what was the actual problem.

It seems like that there are multiple flavors of the libavcodec58_91 library, one on the official repositories that are missing some patented codecs and a so-called libavcodec58_91(unrestricted) flavor, that is only available from Packman. vlc-codecs isn't dependent on other libav packages, but there could be more. I don't know how zypper differentiates between the two. The version number differs slightly, but doesn't contain a hint about being restricted or unrestricted. The one from the official repository has version number 4.3.1-6.1 the unrestricted one from Packman the version number 4.3.1-9.3.

libavcodec58_91 will only contain the patent-restricted codecs when installed from Packman. The equivalent packages from the openSuse (and other official) repository don't contain them.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.