The problem is that the version of libffmpeg.so
that Opera is using is incompatible with the Chrome version that it's based on. You can see the version of Chrome that Opera is based on here or from the command line:
strings /usr/lib/x86_64-linux-gnu/opera-developer/opera-developer | awk -F / '/Chrome\/[0-9]/ { print $2 }'
From Ubuntu 17.10 64-bit, this is what I used and it worked for me. Your mileage may vary.
curl -s http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu/pool/main/c/chromium-browser/ | awk -F '"' 'match($0, /href="(chromium-codecs-ffmpeg-extra_'$(strings /usr/lib/x86_64-linux-gnu/opera-developer/opera-developer | awk -F / '/Chrome\/[0-9]/ { print $2 }')'-0ubuntu.*'$(lsb_release -rs)'.*'$([ "$(uname -i)" = 'x86_64' ] && echo 'amd64' || echo 'i386')'[^"]+)">/, result) { print "http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu/pool/main/c/chromium-browser/" result[1] }'
This will spit out the URL of the package you need based on the version of Chrome opera-developer
is using. It returned the following in my instance:
http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu/pool/main/c/chromium-browser/chromium-codecs-ffmpeg-extra_67.0.3396.18-0ubuntu1~ppa1~17.10.1_amd64.deb
I grabbed this file and extracted the libffmpeg.so
file and replaced Opera's version. That looked like this:
cd $(mktemp -d /tmp/meh.XXXXXXX)
curl -sO http://ppa.launchpad.net/saiarcot895/chromium-beta/ubuntu/pool/main/c/chromium-browser/chromium-codecs-ffmpeg-extra_67.0.3396.18-0ubuntu1~ppa1~17.10.1_amd64.deb
ar p chromium-codecs-ffmpeg-extra_67.0.3396.18-0ubuntu1\~ppa1\~17.10.1_amd64.deb data.tar.xz | tar xJf - ./usr/lib/chromium-browser/libffmpeg.so --strip 4
sudo mv /usr/lib/x86_64-linux-gnu/opera-developer/libffmpeg.so{,.bak}
sudo mv libffmpeg.so /usr/lib/x86_64-linux-gnu/opera-developer/libffmpeg.so
I closed and restarted Opera and H264 video playback was restored.