Widevine and Flash for Vivaldi on ARM (Spotify and Tidal access)
-
Need to use a DRM'd proprietary media in Vivaldi on a Raspberry Pi (.e.g. Spotify) or sites that use Flash (e.g. Tidal)? Both are possible.
You can extract Widevine and Flash binaries for Linux ARMHF from ChromeOS recovery images.
For these to work you will first you will need to get proprietary media working.
Here are the steps to extract these libs [EDIT] Replaced with a script
-
@ruario Very nice! It's so simple!
-
This post is deleted! -
I have added these steps to our ARM/Raspberry Pi help page.
-
Is this process still expected to work with current versions of Vivaldi? I ran through it and have the
libwidevinecdm.so
, etc. in/opt/google/chrome
and the auto-generated symlinks to them in/opt/vivaldi
.As I've seen both elsewhere on this forum and in comments on the script used to download the Chrome OS recovery package, Widevine is not showing up in
chrome://components
and no Widevine-encrypted media is playable for me (no Netflix, no Spotify). I do have the User Agent Switcher extension set up with the User Agent from the help page.My Raspbian is 32-bit. I'm not sure what else there is I should mention that could be relevant, feel free to ask if any of it can help. I did see somebody do this; I don't know what it means but it seems to show that Vivaldi is aware
libwidevinecdm.so
is there, but I'm not getting any luck so far.$ lsof libwidevinecdm.so COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME vivaldi-b 15932 pi mem REG 179,2 6755736 5338 /opt/google/chrome/libwidevinecdm.so vivaldi-b 15934 pi mem REG 179,2 6755736 5338 /opt/google/chrome/libwidevinecdm.so vivaldi-b 16073 pi mem REG 179,2 6755736 5338 /opt/google/chrome/libwidevinecdm.so vivaldi-b 16080 pi mem REG 179,2 6755736 5338 /opt/google/chrome/libwidevinecdm.so vivaldi-b 16090 pi mem REG 179,2 6755736 5338 /opt/google/chrome/libwidevinecdm.so vivaldi-b 16214 pi mem REG 179,2 6755736 5338 /opt/google/chrome/libwidevinecdm.so vivaldi-b 16276 pi mem REG 179,2 6755736 5338 /opt/google/chrome/libwidevinecdm.so
EDIT: Using the test page bitmovin.com/demos/drm, I see "Detected ?, using widevine" and "Encrypted Media Extension - EME; EME is supported by your current browser," with a check mark next to widevine, so perhaps it not showing up in
chrome://components
isn't an issue? However, the test video fails to play, saying "Error is unknown (UNKNOWN)".I get similar behavior on encrypted services Spotify and Netflix. When trying to play music on Spotify, I receive the error "Oooops, something went wrong with the playback. Reload". On Netflix, I get "Whoops, something went wrong... Unexpected error; There was an unexpected error. Please reload the page and try again. Error code: C7361-1254". Unfortunately, this is not an error code that Netflix documents in their help pages.
EDIT 2: And yes, I do have
chromium-codecs-ffmpeg-extra
installed.EDIT 3: My Vivaldi build is
vivaldi-stable_2.2.1388.37-1_armhf.deb
.EDIT 4: Trying to see if it would throw any errors, I launched
vivaldi-stable
from the terminal and received this notice:$ vivaldi-stable No suitable library for HTML5 proprietary media (MP4[H.264/AAC]) was found, therefore only open codecs will play. To add support for proprietary media, issue the following command and restart Vivaldi: curl https://launchpadlibrarian.net/395139898/chromium-codecs-ffmpeg-extra_70.0.3538.77-0ubuntu0.16.04.1_armhf.deb |\ tail -c+1073 | tar xJ -C ~ --wildcards \*libffmpeg.so --xform 's,.*/,.local/lib/vivaldi/,'
I haven't tested Netflix yet, but running this command seems to have resolved my issues, I'm currently listening to Spotify in Vivaldi.
Sorry for any inconvenience caused by this post, I hope it's helpful for others in the same situation.
-
I followed all the steps but it is not working. I'm totally lost
-
This post is deleted! -
Sorry to resurrect an ancient thread. I'm trying to use the script referenced in the original post (https://gist.github.com/ruario/19a28d98d29d34ec9b184c42e5f8bf29) to run Widevine on another armhf board (essentially a Radxa Rock2 Square, which runs a rk3288) and Vivaldi (now version
4.0.2312.33
) sees the Widevine config but fails to load the .so. I tried the script unchanged and changed to pull the binary from a different ChromeOS image just to test. The below log is from the binary from the image the script uses by default.Proprietary media is working per the test page.
When I try to run Widevine content, I get this in the Vivaldi log:
[10926:10926:0701/150213.026209:ERROR:cdm_module.cc(139)] CDM at /opt/WidevineCdm/_platform_specific/linux_arm/libwidevinecdm.so could not be loaded. [10926:10926:0701/150213.026450:ERROR:cdm_module.cc(140)] Error: /opt/WidevineCdm/_platform_specific/linux_arm/libwidevinecdm.so: cannot open shared object file: No such file or directory
However, the .so is definitely there and is readable by all users. This shouldn't matter because I'm running as
root
at the moment. I am running Vivaldi with--no-sandbox
, if it matters.root@foo:/opt# ls -l /opt/WidevineCdm/_platform_specific/linux_arm/libwidevinecdm.so -rw-r--r-- 1 root root 8887360 Jun 30 19:55 /opt/WidevineCdm/_platform_specific/linux_arm/libwidevinecdm.so
Am I missing something?
ETA: worth noting that I am on Debian 10.
-
@jsimon0 said in Widevine and Flash for Vivaldi on ARM (Spotify and Tidal access):
Bonjour, ls / opt / WidevineCdm / _platform_specific / linux_arm / libwidevinecdm.so / opt /vivaldi/lib
-
Ppafflick moved this topic from VPN on