0

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:

MediaSource.isTypeSupported("video/mp4")
false

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

Diagnostics:
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':
  Metadata:
    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)
    Metadata:
      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

4
  • 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, 2020 at 12:46
  • If you start with the environment variable MOZ_LOG=PlatformDecoderModule:5 It will show why it's not loading. Dec 20, 2020 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, 2020 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, 2020 at 13:12

2 Answers 2

1

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

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

2
  • 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, 2020 at 13:15
  • Installing vlc-codecs worked, I'll give you that answer.
    – WallaceNC
    Dec 20, 2020 at 13:37
1

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.

tl;dr
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.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .