Codecs needed for Firefox in EOS?

I’m a bit frustrated because some videos are not played in my Firefox installation. As an example I’m not able to play product videos on German Amazon.

STABILO - Textmarker - swing cool Pastel - 6er Pack - mit 6 verschiedenen Farben : Amazon.de: Bürobedarf & Schreibwaren

When I open the page with the product video I got the following error in Firefox console.

VIDEOJS: ERROR: (CODE:3 MEDIA_ERR_DECODE) The media playback was aborted due to a corruption problem or because the media used features your browser did not support.

Medien-Ressource blob:https://www.amazon.de/18527f65-3380-4c81-af0b-445d1098d1ff konnte nicht dekodiert werden, Fehler: Error Code: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005)
Details: virtual RefPtrMediaDataDecoder::DecodePromise mozilla::GMPVideoDecoder::Decode(MediaRawData *): mGMP not initialized

I know that it works in Windows and Ubuntu. So, I think it must be something with EndeavourOS (maybe Arch Linux, too).

Anyone using Firefox in EndeavourOS and knows what could be the issue? Are there specific codecs missing that I have to install by myself?

Here’s my system info:

System:
Kernel: 6.14.6-zen1-1-zen arch: x86_64 bits: 64
Desktop: Xfce v: 4.20.1 Distro: EndeavourOS
Machine:
Type: Desktop Mobo: Micro-Star model: MAG X570 TOMAHAWK WIFI (MS-7C84)
v: 1.0 serial: UEFI: American Megatrends LLC. v: 1.I1
date: 09/02/2024
CPU:
Info: 12-core model: AMD Ryzen 9 3900X bits: 64 type: MT MCP cache:
L2: 6 MiB
Speed (MHz): avg: 4099 min/max: 550/4673 cores: 1: 4099 2: 4099 3: 4099
4: 4099 5: 4099 6: 4099 7: 4099 8: 4099 9: 4099 10: 4099 11: 4099 12: 4099
13: 4099 14: 4099 15: 4099 16: 4099 17: 4099 18: 4099 19: 4099 20: 4099
21: 4099 22: 4099 23: 4099 24: 4099
Graphics:
Device-1: Advanced Micro Devices [AMD/ATI] Navi 32 [Radeon RX 7700 XT /
7800 XT] driver: amdgpu v: kernel
Device-2: Logitech HD Pro Webcam C920 driver: snd-usb-audio,uvcvideo
type: USB
Display: x11 server: X.Org v: 21.1.16 driver: X: loaded: amdgpu
unloaded: modesetting,radeon dri: radeonsi gpu: amdgpu resolution: N/A
API: EGL v: 1.5 drivers: kms_swrast,radeonsi,swrast
platforms: gbm,x11,surfaceless,device
API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 25.0.5-arch1.1
renderer: AMD Radeon RX 7800 XT (radeonsi navi32 LLVM 19.1.7 DRM 3.61
6.14.6-zen1-1-zen)
API: Vulkan v: 1.4.313 drivers: radv surfaces: N/A
Info: Tools: api: eglinfo, glxinfo, vulkaninfo de: xfce4-display-settings
x11: xdpyinfo, xprop, xrandr
Audio:
Device-1: Advanced Micro Devices [AMD/ATI] Navi 31 HDMI/DP Audio
driver: snd_hda_intel
Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio
driver: snd_hda_intel
Device-3: Logitech HD Pro Webcam C920 driver: snd-usb-audio,uvcvideo
type: USB
API: ALSA v: k6.14.6-zen1-1-zen status: kernel-api
Server-1: PipeWire v: 1.4.2 status: active
Network:
Device-1: Realtek RTL8125 2.5GbE driver: r8169
IF: enp38s0 state: up speed: 1000 Mbps duplex: full mac:
Bluetooth:
Device-1: Intel AX200 Bluetooth driver: btusb type: USB
Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
rfk-block: hardware: no software: yes address: bt-v: 5.2
Drives:
Local Storage: total: 7.51 TiB used: 2.81 TiB (37.4%)
ID-1: /dev/nvme0n1 vendor: Samsung model: SSD 970 EVO 1TB size: 931.51 GiB
ID-2: /dev/nvme1n1 vendor: Samsung model: SSD 970 EVO Plus 2TB
size: 1.82 TiB
ID-3: /dev/sda vendor: Samsung model: SSD 850 EVO 1TB size: 931.51 GiB
ID-4: /dev/sdb vendor: Western Digital model: WD20EZBX-00AYRA0
size: 1.82 TiB
ID-5: /dev/sdc vendor: Western Digital model: WD20EZBX-00AYRA0
size: 1.82 TiB
ID-6: /dev/sdd vendor: Samsung model: SSD 850 PRO 256GB size: 238.47 GiB
Partition:
ID-1: / size: 920.71 GiB used: 46.55 GiB (5.1%) fs: btrfs
dev: /dev/nvme0n1p2
ID-2: /boot/efi size: 2 GiB used: 608 KiB (0.0%) fs: vfat
dev: /dev/nvme0n1p1
ID-3: /home size: 920.71 GiB used: 46.55 GiB (5.1%) fs: btrfs
dev: /dev/nvme0n1p2
ID-4: /var/log size: 920.71 GiB used: 46.55 GiB (5.1%) fs: btrfs
dev: /dev/nvme0n1p2
Swap:
ID-1: swap-1 type: partition size: 8.8 GiB used: 0 KiB (0.0%)
dev: /dev/nvme0n1p3
Sensors:
System Temperatures: cpu: 40.2 C mobo: 36.0 C gpu: amdgpu temp: 48.0 C
Fan Speeds (rpm): N/A gpu: amdgpu fan: 1
Info:
Memory: total: 32 GiB available: 31.26 GiB used: 5.27 GiB (16.9%)
Processes: 534 Uptime: 3h 28m Shell: Bash inxi: 3.3.38

Any help would be appriciated. Thanks in advance!

I can play the product videos from that page in Firefox and I don’t remember installing any extra codecs. Did you install Firefox from the repository?

1 Like

Did you change anything in about:config in the past? When you go to about:support there is a Codec Support Information. How does that look?

1 Like

I don’t remember ever needing to install Codecs in my arch-based wanderings. Now Fedora has always been another story :slight_smile:

1 Like

Quick search came up with this solution (error message is a bit different though).

1 Like

Worked here (EOS/Cinnamon), and no ffmpeg-compat installed:

$ pacman -Qs ffmpeg
local/ffmpeg 2:7.1.1-2
    Complete solution to record, convert and stream audio and video
local/ffmpegthumbnailer 2.2.3-3
    Lightweight video thumbnailer that can be used by file managers
local/gst-libav 1.26.1-1
    Multimedia graph framework - libav plugin
$ pacman -Qs firefox
local/firefox 138.0.4-1
    Fast, Private & Safe Web Browser
local/firefox-i18n-de 138.0.4-1
    German language pack for Firefox
1 Like

@DenalB, I use Firefox. The video from the Amazon link you provided plays fine for me. I’ve installed no Firefox-specific codecs.

EDIT: Though I do install ffmpeg and related for media creation/editing.

❯ pacman -Qs ffmpeg
local/ffmpeg 2:7.1.1-2
    Complete solution to record, convert and stream audio and video
local/ffmpeg4.4 4.4.5-5
    Complete solution to record, convert and stream audio and video
local/ffmpegthumbnailer 2.2.3-3
    Lightweight video thumbnailer that can be used by file managers
local/ffmpegthumbs 25.04.1-1 (kde-applications kde-multimedia)
    FFmpeg-based thumbnail creator for video files
local/gst-libav 1.26.1-1
    Multimedia graph framework - libav plugin
local/qt6-multimedia-ffmpeg 6.9.0-1
    FFMpeg backend for qt6-multimedia
❯
1 Like

Yes. Also tried the Flatpak yesterday. Videos started playing and then stopped with exactly the same error code.

Yes. When I’m home on my PC I’ll post the changes here.

Also found this but this didn’t solve the issue.

Package was installed already on my PC. Have to check if all the related packages are installed also.

Thanks, guys. Strange, that it works for you and not for me. Could it be because of my AMD graphics card? Are you using AMD or NVIDIA?

I tried in a new profile already and also used the Troubleshoot Mode. Issue still exists. :frowning:

Intel i915 here.

1 Like

AMD CPU/GPU. Everything works fine with Arkenfox and ublockorigin :thinking:

╰─❯  pacman -Qs ffmpeg    
local/ffmpeg 2:7.1.1-2
    Complete solution to record, convert and stream audio and video
local/ffmpeg4.4 4.4.5-5
    Complete solution to record, convert and stream audio and video
local/ffmpegthumbnailer 2.2.3-3
    Lightweight video thumbnailer that can be used by file managers
local/ffmpegthumbs 25.04.1-1 (kde-applications kde-multimedia)
    FFmpeg-based thumbnail creator for video files
local/gst-libav 1.26.1-1
    Multimedia graph framework - libav plugin
local/qt6-multimedia-ffmpeg 6.9.0-1
    FFMpeg backend for qt6-multimedia

╰─❯  pacman -Qs firefox 
local/firefox 138.0.4-1
    Fast, Private & Safe Web Browser
local/firefox-i18n-de 138.0.4-1
    German language pack for Firefox

1 Like

Nvidia and it also works on my Intel laptop. Do you run noscript or similar?

1 Like

uBlock Origin. But it also doesn’t work in a new profile and in Troubleshoot Mode without any extensions …

No issues in Vivaldi browser.

Nvidia

I also use uBlock Origin extension.

1 Like

Oh yeah, you said that. It seems weird. All I can think of is renaming the .mozilla directory and trying again with a completely reset browser.

1 Like

Here is what ffmpeg packages are installed on my EOS Xfce.

··• pacman -Qs ffmpeg 
local/ffmpeg 2:7.1.1-2
    Complete solution to record, convert and stream audio and video
local/ffmpeg4.4 4.4.5-5
    Complete solution to record, convert and stream audio and video
local/ffmpegthumbnailer 2.2.3-3
    Lightweight video thumbnailer that can be used by file managers
local/gst-libav 1.26.1-1
    Multimedia graph framework - libav plugin

And the Firefox packages.

··• pacman -Qs firefox
local/firefox 138.0.4-1
    Fast, Private & Safe Web Browser
local/firefox-i18n-de 138.0.4-1
    German language pack for Firefox

These are my changes.

// CSS-Anpassungen über "userChrome.css" ermöglichen
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); // Default = false

// Tabs immer im Hintergrund öffnen
user_pref("browser.tabs.loadDivertedInBackground", true); // Default = false

// Tabs per Doppelklick schließen
user_pref("browser.tabs.closeTabByDblclick", true); // Default = false

// Beim Schließen des letzten Tabs Firefox nicht beenden
user_pref("browser.tabs.closeWindowWithLastTab", false); // Default = true

// Intervall der Suche nach Updates für Add-ons auf 12h reduzieren
user_pref("extensions.update.interval", 43200); // Default = 86400

// PDFs beim Öffnen in den Temp-Ordner packen
user_pref("browser.download.start_downloads_in_tmp_dir", true); // Default = false

// Tastenkombination zum Beenden von Firefox deaktivieren
user_pref("browser.quitShortcut.disabled", true); // Default = false

// Übersetzungsfunktion deaktivieren
user_pref("browser.translations.enable", false); // Default = true

// Videos nicht in einer Sandbox abspielen
user_pref("media.rdd-ffmpeg.enabled", false); // Default = true

Looks like H256 is not supported in Software mode. But I don’t know why …

OK, set media.rdd-ffmpeg.enabled to true and test again.

2 Likes

Now codec support looks like this.

But videos are still not playing.

Did you restart the browser?

1 Like

Yes, I did. But the setting was still on false. Switched again to true and now the videos are playing!!!

Looks like it works now. Let me try some other videos …

A few years ago, there was a bug in FF that would crash VAAPI, so media.rdd-ffmpeg.enabled was set to false. That bug, I think, has been fixed long ago. By enabling it, you effectively allow the system ffmpeg to do software decoding (as your changed table shows).

I believe even with Intel graphics this setting can now safely be enabled. (I’m typing from one such PC.)

For supported encodings, FF should use hardware decoding nevertheless. In your case, for H.264, VP9, AV1 and H.265 (HEVC).

1 Like