#!/bin/bash | |
# Author: Marco Carletti | |
# Date: May 2022 | |
# Version: 0.2.0 | |
# Last update: July 17, 2023 | |
# Changed comments, tested versions and added other distros info, such as Debian and Fedora. | |
# Thanks to everyone for comments, suggestions, fixes and testings! | |
# Tested on | |
# --------- | |
# | |
# Ubuntu 18.04 | |
# | |
# v0.1.0 | |
# 62.0.3331.116 | |
# 63.0.3368.66 | |
# | |
# Ubuntu 20.04 | |
# | |
# v0.1.0 | |
# 70.0.3728.95 | |
# 73.0.3856.284 | |
# 74.0.3911.107 | |
# 74.0.3911.232 | |
# | |
# v0.2.0 | |
# 87.0.4390.25 | |
# | |
# Ubuntu 22.04 | |
# | |
# v0.2.0 | |
# 99.0.4788.13 | |
# Other distros | |
# THIS SCRIPT WILL NOT WORK AS IS IS. EACH OS REQUIRES SPECIFIC FIXES. | |
# Search in the comments for further details :) | |
# ------------- | |
# | |
# Debian 11.4 | |
# Requires `-c` option in `sudo` commands (credits: `gidici`) | |
# | |
# v0.2.0 | |
# 90.0.4480.80 | |
# | |
# Fedora 37 | |
# Requires to copy the lib file to opera lib folder and chown to root (credits: `JPDucky`) | |
# | |
# v0.2.0 | |
# 100.0.4815.54 (Opera One) | |
# Release notes | |
# ------------- | |
# | |
# v0.2.0 Smarter use of curl options to fix failing permalink. Special thanks to `dotarr` for the fix! | |
# Last update: May 18, 2022 | |
# | |
# v0.1.0 It is basically a cleaned version of what you can find in this post from Opera forum: | |
# https://forums.opera.com/topic/34659/opera-linux-browser-h-264-support-through-x264-open-source-codec | |
# Last update: Aug 18, 2020 | |
# Retrieve latest FFMPEG release version. | |
# We get the complete url pointing to the latest zip package via the curl command. | |
# | |
# -L If the server reports that the requested page has moved to a different location | |
# this option will make curl redo the request on the new place. | |
# | |
# -o <file> Write output to <file> instead of stdout. | |
# | |
# -s Silent or quiet mode. Don't show progress meter or error messages. | |
# | |
# -w <format> Make curl display information on stdout after a completed transfer. The format is | |
# a string that may contain plain text mixed with any number of variables. | |
URL=`curl -L -o /dev/null -s -w %{url_effective} https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases/latest` | |
FFMPEGVER=${URL%\"*} | |
FFMPEGVER=${FFMPEGVER##*/} | |
FFMPEGZIP=${FFMPEGVER}-linux-x64.zip | |
# Download library from complete url and save it locally. | |
# Archive is extracted in the working directory and immediately deleted. | |
# | |
# -L (see above) | |
# -O Write output to a local file named like the remote file we get. | |
# Only the file part of the remote file is used, the path is cut off. | |
curl -L -O https://github.com/iteufel/nwjs-ffmpeg-prebuilt/releases/download/${FFMPEGVER}/${FFMPEGZIP} | |
unzip ${FFMPEGZIP} | |
rm ${FFMPEGZIP} | |
# Overwrite Opera libffmpeg (requires root privileges). | |
# Install (ie. copy) the latest version of the library in the system library folder. | |
# Before overwriting the Opera library file, make a copy... So we can manually rollback if we messed up things :) | |
sudo mv libffmpeg.so /usr/lib/x86_64-linux-gnu/libffmpeg_h264.so | |
sudo mv /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so.orig | |
sudo ln -s /usr/lib/x86_64-linux-gnu/libffmpeg_h264.so /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so |
Opera One(version: 100.0.4815.54)
fedora 37: had to change the bottom 3 lines to make it work, opera would not launch with the symlink
sudo mv libffmpeg.so /usr/lib64/opera/libffmpeg_h264.so
sudo mv /usr/lib64/opera/libffmpeg.so /usr/lib64/opera/libffmpeg.so.orig
sudo cp /usr/lib64/libffmpeg_h264.so /usr/lib64/opera/libffmpeg.so
also had to change ownership of libffmpeg.so
to root
Система:Ubuntu 22.04.3 LTS (x86_64; ubuntu:GNOME)
Версия Chromium:116.0.5845.141
Thank you
Will this work with flatpak package?
I'm using Opera's flatpack package form flathub on Fedora.
@butter-fly04 I don't know how Fedora+flatpak+flathub works since I use Ubuntu+apt, however OperaOne was tested under Fedora by @JPDucky. Check it here!
It is working on Debian 11, Opera One(version: 107.0.5045.21).
I downloaded codec from https://github.com/nwjs-ffmpeg-prebuilt/nwjs-ffmpeg-prebuilt/releases
Thank you. Great advice.
Unfortunately after Opera upgrade support for H.264 disappeared again :(
I created file opera_libffmpeg.sh
and run this file after each opera upgrade. It takes several seconds only and I have support for H264 again.
Change folders name.
#!/bin/bash
# download compressed libffmpeg.so from below, copy to /home/adam/software and unzip it
# https://github.com/nwjs-ffmpeg-prebuilt/nwjs-ffmpeg-prebuilt/releases
sudo cp /home/adam/software/0.85.0-linux-x64/libffmpeg.so /usr/lib/x86_64-linux-gnu/opera/libffmpeg_h264.so
sudo mv /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so.orig
sudo cp /usr/lib/x86_64-linux-gnu/opera/libffmpeg_h264.so /usr/lib/x86_64-linux-gnu/opera/libffmpeg.so
Works perfect on LMDE 6
Thanks @mcarletti
Works perfect on LMDE 6
Thanks @mcarletti
Every time opera get updated you will need to run this script!
2025 and still working, thanks!
Works with Opera version :99.0.4788.13 and System:Ubuntu 22.04.2 LTS (x86_64; ubuntu:GNOME)
Chromium version:113.0.5672.127
Thank you !!