I just found that there seems to be no easy way to install ffmpeg support for Chromium browsers on aarch64 platform.
I’m actually using the Vivaldi browser. On Firefox I can easily watch youtube videos by adding the RPMFusion repo, add the mozilla-openh264 package and everything is fine. But on Vivaldi things become tricky.
On x86_64 there are some packages like chromium-codecs-extra in many distros but there are no equivalent on aarch64 platform. There seems to be not much discussion and workarounds regarding the topic. Anyone knows how to enable ffmpeg support on Vivaldi/other Chromium browsers? Thank you.
Oh, Vivaldi is available for aarch64? I wasn’t aware of this.
I thought Vivaldi actually delivers a proper libffmpeg.so (with all required codecs), and an updater script.
The Ubuntu package chromium-codecs-ffmpeg-extra is also built for “arm64” (which I assume is aarch64). You could extract libffmpeg.so from there. I have done that successfully before - for x86_64/“amd64” and Opera.
There’s also another source for these codecs, I would need to check on my machine where I have deployed them.
Thanks for your answer.
Yes, Vivaldi provides aarch64 RPM now.
I have found chromium-codecs-ffmpeg-extra but now it turns to a Snap package (yes, bl**dy snap…), I think I can no longer extract the package like it was before?
I am happy to announce that I have solved this problem perfectly!!!
It turns out Ruarí from Vivaldi has provided most of the workaround but it’s hidden inside a rather irrelevant post topic - so I guest most users would ignore it: https://forum.vivaldi.net/topic/88186/catch-up-vivaldi-browser-snapshot-3054-3
It lists out the steps to extract the libffmpeg.so from the Chromium snap package, but it doesn’t specify how to get the snap package first. So here’s the steps:
curl -H ‘Snap-Device-Series: 16’ http://api.snapcraft.io/v2/snaps/info/chromium >> chromium.info
You will obtain a chromium.info file, open it with a text editor or just cat it. You will find several urls of the snap. Be careful and make sure you copy the url of arm64 snaps instead of the other architecture (which I did once). Then use wget to download it.
unsquashfs -q -f -d chrome *.snap
By doing so you will extract the snap package into the chrome directory. Inside it, you will find usr/lib/chromium-browser, the libffmpeg.so lies inside!
Copy the libffmpeg.so into /opt/vivaldi/lib
You are done! Enjoy youtube and twitter videos!
I tried this for Chromium itself and it didn’t work. I copied
/usr/lib64/chromium-browser/ and instagram videos still won’t play. One thing I noticed was that my installed Vivaldi already had a
libffmpeg.so file that we override with this trick, but Chromium had no such file to begin with, so maybe doesn’t know what to do with it?