Last Update: 3-13-21 | Official Raspberry Pi Package now available – see bellow
Last Update: 11-9-20 | Updated ventz-media-pi for new Chromium version (v.84+) and new WideVine setup: v.4.10.1679.0+ NOTE: You MUST re-download and re-run it from this date to fix – lots of changes!
Last Update: 11-2-20 | Updated libwidevinecdm.so_.zip to v.4.10.1679.0 within ventz-media-pi
Last Update: 7-22-20 | Updated .desktop with Chrome User Agent string for CrOS Chrome/77.0.3865.120
Last Update: 7-20-20 | ~redacted~ company reached out about creating an official package, also there are conversations happening with ~redacted~ company about official support of the Pi
Last Update: 5-6-20 | Specify that “Raspbian with desktop” is assumed and tested
Last Update: 4-7-20 | Fixed screen tearing
Great News – This can finally be announced:) – There is now an official Raspberry Package with this work!!
Setup everything here with:
1 2 3 4 5 |
sudo apt update sudo apt full-upgrade sudo apt install libwidevinecdm0 |
Everything from here down is the “pre-official-raspberry-package” info:
If you just want to take a Raspberry Pi 4 (as of today!) and turn it into a fully functional “Media” center by just pasting one line, here it is:
SSH to your Pi (don’t run from the Pi console if you want pretty graphics :)) and run:
1 2 3 4 |
curl -fsSL https://pi.vpetkov.net -o ventz-media-pi sh ventz-media-pi |
This will produce the following (click to see larger image):
Reboot, and then from the Application Menu (top left) -> go to “Internet” -> open “Chromium (Media Edition)”
You are now ready to use your Raspberry Pi on Netflix, Hulu, Amazon Prime, Disney Plus, HBO, Spotify, Pandora, and many others.
If you need to change any browser Settings, do so via the “Chromium” browser and not the “Chromium (Media Edition) – both are the same browser, so the settings are the same. The “Media Edition” (just a custom launcher with the user-agent) cannot load the settings since Chromium thinks you are launching it on “Chrome OS”, and when it checks for the Chrome OS language settings it crashes since they don’t exist.
At last, all this assumes the latest version of Raspbian with desktop (not Debian/Ubuntu! –
https://downloads.raspberrypi.org/raspbian_latest), and you can re-run the curl and sh as many times as you want without any harm.
If you are curious about some of the background and details on why you can’t easily run Netflix (and others) on your Pi and how to solve it, you are welcome to go look at my “development” blog post article: http://blog.vpetkov.net/2019/07/12/netflix-and-spotify-on-a-raspberry-pi-4-with-latest-default-chromium/
Enjoy!
Any chance of improved support for https://crave.ca ? Its a fairly big streaming platform in Canada owned by our largest telecommunications company.
It mostly works! But crashes when trying to continue to the next episode, and the main UI really struggles in the browsers.
Thank you for the work you’ve done! Its been amazing to use all of these platforms so seamlessly on the RP4 for the first time. Its never been so easy.
SR – I wish I could help, but from my side there’s not much really. They either support HTML5+libwidevine’s arm port or they don’t. You could try to open the debug console and figure out what crashes/if it’s expecting some weird setting, but this is going down a deep and most likelynon-rewarding rabbit hole.
Any other ideas for Crave? I was using it with the same minor issues as above as recently as two days ago, but today it stopped working altogether. Just loads the menus at the top of the page and nothing else. Can’t click any videos to open them. I tried uninstalling chrome media edition and reinstalling it and deleting browsing data, but no luck.
Any other Canadian users having this issue?
Thanks for your help and thanks for the work you have done!
Chan – sorry, I don’t have access to Crave to take a look.
I know this is “stupid advice”, but the easiest way to eliminate a local side config/cache/etc is if you can try a new SD card/new install. If that doesn’t work, it’s most likely something on their side/server side.
Doesn’t work with Peacock on Pi 3. It just says something like “There was an error.”
Thanks for your great hack!
It works for Amazon Prime *Video*, but NOT for Amazon Prime *Music*. Is your “fix” just limited to video? Amazon Music page complains about incompatible browser, but I think this is nonsense, since I can hear about 1 second of music before the complaint pops up. Spotify and Pandora work just fine with your “Media Edition” launcher. Do you know of a workaround for playing Amazon Music on a Pi4B running Rasbian OS (buster) that doesn’t involve using a different browser or re-OS-ing my pi4?
Kuli – this is due to the “war” between Amazon and Google. There are a lot of threads about “Chromebooks” and “Amazon Music”. It has nothing to do with this plugin. Amazon seems to be doing something explicitly to kill the connection on libwidevine (and Chromebooks – which the Pi is pretending to be with the UA)
I see. Thanks for taking the time to reply.
In the script, the parts that install Compton are commented out, so they don’t run. However, the part that moves the xcompmgr.desktop file is still there. Is that supposed to happen?
cc – It’s commented because you don’t need that part. It has been replaced by the raspi-config “config” method to disable X.
Okay, thanks!
I’m confused with regards to the Chromium Browser and Chromium???
Please include method how to uninstall the mod. Thank you.
Retrob – are not using “Raspbian GNU/Linux 10 (buster)”?
You can simply remove the file if it’s not working for you. It’s just a custom alias that sets the UA:
From a terminal, “sudo su” and then “rm -f /usr/share/applications/chromium-media-browser.desktop”
If you don’t want the lib (I would suggest keeping it however, since it works in other places), you can remove it by:
From a temrinal, “sudo su” and then “rm -f /usr/lib/chromium-browser/libwidevinecdm.so”
Hi how can I uninstall this the Chromium Media Browser is not working it only say invalid desktop entry fil:’/usr/share/applications/chromium-media-browser-desktop’
You can just delete it with
There was a typo, use this instead:
Hello:
I had this problem:
Invalid desktop entry file: /usr/share/applications/chromium-media-browser.desktop
It’s because you must have installed chromium-browser NOT chromium
Regards
Juanca – I am assuming you are not using “Raspbian GNU/Linux 10 (buster)” because the _default_ package is “chromium-browser”:
dpkg -l | grep chromium
ii chromium-browser 78.0.3904.108-rpt1 armhf Chromium web browser, open-source version of Chrome
Thanks for this – installed and now streaming works (All4, ITVhub tested).
One problem i encounter: when i go in full screen mode the video signal becomes completely distorted. Any suggestions to solve this?
It is a bug in the new5.4 kernel.
Options are reenable composite or downgrade kernel to older 4 version..
Thanks! enabling the composite manager did the trick.
I just google how to do this and enabled the composite in the menu on the upper left corner. It asked me to reboot but from then, my screen stays black (I can not describe the menu in more detail since I do not see anything).
How can I resolve that issue?
– Reinstall?
– Use a composite cable?
Thanks in advance
Ceekay – either through raspi-config (via ssh) or even easier (via command line as root):
And then reboot.
just use “sudo rpi-update” to fix distortions
Jakub – just one thing to be careful about, it looks like rpi-update is no longer “recommended”, as the key parts have been tied back to the system/packages. This is actually how a few users “accidently” went on the 5x kernel without knowing it. I did notice they recently added a warning about it, but just FYI.
Unfortunately raspbian kernel mainstream was updated to 5.4.51.
Using in rpi4 fkms driver result in problems showing videos fullscreen with both chrome and mpv… only way to have them back working with that fkms driver is to reenable composite manager…i reenabled compton as it seems to create less tearing anyway…but in netflix it is a little bit noticeable…
disabling composite makes the screen all garbled..looks like a bug already known at the moment…
going with the new kms video module is in my opinion still unstable, as i get black screen every time i move mouse over video window…
so with newer kernel at the moment it is not possible to make screen tearing as good as before…
Thanks for this post. I have actually upgraded kernel yesterday and experienced video problems with Chromium (on youtube and other video streaming websites). The videos appeared with squares and green. Pretty much like the old xvid/vidx codecs used to look on old computers when video processing power was not good enough to decode. I did not experience the same problem on Netflix, though. Netflix still looks good after applying Ventz’s fix. I haven not tried this on Firefox, only Chromium.
Reenabling composite (Compton in my case) solved also the glitches in chromium….
Hmm. I am using a Raspberry Pi 4 and HDMI output. Would that apply to me, as well?
I have edited config.txt and:
– disabled toverlay=vc4-fkms-v3d > nothing
– enabled dtv_mode=2 > nothing
– re-enabled overlay=vc4-fkms-v3d > still nothing
I have in the meantime lost the ability to watch videos on Netflix, as well. The webpage gives me the pre-Ventz media pi script error message.
on latest Raspbian, xcompmgr is installed by default and can be enabled via the “Advanced Options” menu in raspi-config.
Omar – correct, but I’ve noticed that it causes tearing. That’s actually what I am disabling.
Here is what raspi-config calls to enable/disable it:
You can just “unhook” it by removing:
Which is essentially what the official solution does by:
Re-enabled mine but the screen is still wonky when at full screen… even my login screen is all skewed up.
You can always go back to molder 4 kernel that was working perfectly
How roll back to older kernel?
Well, I’m still a noob when it comes to a lot of this. I thought my pi 4 or my micro sd card was quitting on me. I was releieved to get on here and see that I wasn’t the only one having the issue lol, I can still watch everything I could before in the large window view but going full screen is just a bunch of crazy lines. It would just be nice if the pi 4 could get official support from all of these companies someday though.
Works with SlingTV decently… sound kinda plays slow/choppy but it’s tolerable.
Amazing news! You deserve some recognition!
I am getting Error Code C7361-1253 running the latest version of Chromium.
Does not work for me.
Raspberry pi4
Netflix error code: c7371-1204,
DRM test: SOURCE_STREAM_TYPE_NOT_SUPPORTED
I am running Twister which came with the Chromium Media Edition which quit working. I deleted it and reinstalled with your script. It appears but when I try to open it says: Failed to execute command “chromium-browser %U–user-agent+”Mozilla/5.0(X11;CrOS armv7l 11895.95.0) AppleWebKit/537.36(KHTHML,like Gecko) Chrome/74.0.3729.125 Safari/537.36″”. Failed to execute child process “chromium-browser”(No such file or directory)
I ran all of the updates before installing the script. Any ideas? Thanks for your help.
Why doesn’t this work on the 64-bit version? I see everyone is having a problem, however, there is no solution that I can find.
That is correct – there’s no solution (yet). 32bit vs 64bit arm architecture is quite different. The library is built and compiled only for 32bit instruction set, and the arm Chromium browser (key part) only has references to a 32bit instruction set.
It’s the same reason why it has taken 5+ years for Pi to create a beta version of Raspbian (“Raspberry Pi OS”) that’s 64 bit 🙂
tried today, It created an application link, but gives the error Invalid Desktop Entry file ‘/usr/share/applications/chromium-media-browser.desktop’ I’m not seeing anything particularly malformed in the file. kernel version 4.19.118-v7l+
Great work – thanks!
One issue though is that YouTube videos no longer work full screen – the display is all garbled. Is there any way around this?
hi, my name is ederson, i sent you an email regarding the Netflix addon log, but my operating system is android 32 bit. He is not raspberry is android. I await an answer.
App I’m using is kodi.
Hello. Thanks for the great script.
I have got a couple of questions:
– why does the google plugin work on other 64bit OSes, including Windows?
– is there a work-around for Ubuntu? I am currently running Ubuntu Mate (installed via https://github.com/wimpysworld/desktopify)
Thanks!
JorgeIcarus – i386/amd64 vs armv7 architecture. There’s no 64bit armv7 port (yet).
Someone else asked about Mate — figure out where the “libs” dir is (libffmpeg.so, libwidevinecdm.so) and drop plugin there.
Then set the user-agent via a shortcut (either the .desktop or your own) and try it. In principle, it should work, but I have not tried it.
Hi
Thanks for doing this. Worked like a charm for a few days, now I’m getting the following error – did netflix change something ? 🙁 Thanks for your time
Netflix system requirements for HTML5 Player and Silverlight
You can use the Netflix HTML5 player or the Silverlight plug-in to watch Netflix TV shows and movies on:
PCs running Windows XP or later
Intel-based Macs running OS X Tiger (v10.4.11) or later
iPads running iPadOS 13.0 or later.
See complete requirements below for HTML5, Silverlight 4, and Silverlight 5.
Jose – clear cache/etc. It could be that an old session is cached. Other than that, verify the user-agent string (aka, using the “media” shortcut)
Thank you, it’s working again! (I had accidentally used the “wrong” chrome browser to go to Netflix.)
Hi Man, It’s me again 3x. I found if i erase -browser
from the sh ventz-media.pi it puts in the directory.
I’m a msdos 6.0 basic menu kinda of mod tracker.
but this 64 raspberry pi os works on my 3b+ rpi 🙂
Here is the code error output for elf 32 bit version.
All the best, i used pi imager on linux mint 19 64bit.
I’m in Montreal and would love to figure this build .
Good Luck finding a chrome os 64 widevine version.
https://www.raspberrypi.org/forums/viewtopic.php?f=117&t=275370
> lib = ctypes.cdll.LoadLibrary(“./libwidevinecdm.so”);
> lib.GetCdmVersion.restype = ctypes.c_char_p;
> print(lib.GetCdmVersion())’
Traceback (most recent call last):
File “”, line 2, in
File “/usr/lib/python2.7/ctypes/__init__.py”, line 444, in LoadLibrary
return self._dlltype(name)
File “/usr/lib/python2.7/ctypes/__init__.py”, line 366, in __init__
self._handle = _dlopen(self._name, mode)
OSError: ./libwidevinecdm.so: wrong ELF class: ELFCLASS32
Hi it’s me again. I checked your code for libwidevine version
but the raspberry pi 64bit os did not find it, the developer
said alot of differences in the directory where libs find it.
print(lib.GetCdmVersion())’
Traceback (most recent call last):
File “”, line 2, in
File “/usr/lib/python2.7/ctypes/__init__.py”, line 444, in LoadLibrary
return self._dlltype(name)
File “/usr/lib/python2.7/ctypes/__init__.py”, line 366, in __init__
self._handle = _dlopen(self._name, mode)
OSError: ./libwidevinecdm.so: cannot open shared object file: No such file or directory
64bit raspiberry pi os beta is online. i tried it with your one line on netflix but no go, but i guess its 32bit widevine?
Anyways i just put a /usr/bin/chromium into the desktop menu option with a right click in properties to load good.
https://www.tomshardware.com/news/raspberry-pi-4-8gb-tested I’m in Montreal Quebec Canada and need drm 🙂
Ventz, thank you very much for your work!
I’m currently trying to get it running on Ubuntu Mate 20.04. I followed the instructions but it doesn’t work right away. The user agent is correct but DRM just won’t load. Also I noticed that there are no other libs in /usr/lib/chromium-browser.
Thanks for your work & cheers!
Alex – see if Mate uses “/opt/google for the dir.
Essentially, locate the directory that contains “libpepflashplayer.so” and “libffmpeg.so”
Thanks!! You are great!
Just to say everything works after a full reinstall. Thank you!
Only thing I had to do was uncomment hdmi_drive=2 in config.txt and reboot to get HDMI audio working.
Just completed an install on 2020-05-27-raspios-buster-full-armhf.img with a Pi4B-4G. Installation worked flawless. Great job folks. Using the install to support Britbox. This is a wholesale hardware and software upgrade from my Pi3B+ with 2020-02-13-raspbian-buster-full.img.
Hi there, first of all, thank you very much for your time making this script for everyone. I am curious if you would have any advice for me. I use Arch Linux for my pi, and our chromium package is installed in /usr/lib/chromium, i have tried many attempting to get this working, however chromium doesn’t pickup widevine. I have copied libewidevine.so to /usr/lib/chromium and made sure it is executeable, and updated the .desktop file to reflect chromium instead of chromium-browser, but netflix and all others have the same error. I have cleared the cookies between all attempts, and verified the user agent change at whatismybrowser.com. Would you have any ideas on what i could do? Thanks again, for all of you time.
The main question is is Chromium compiled with the right dynamic lib loader to accept libwidevine. That I am not sure, but assuming it is – replicate:
1.) Where libwidevine lives: mv -f libwidevinecdm.so /usr/lib/chromium-browser
(you don’t need to chmod it to executable, but verify that other “libs” are in the same location)
2.) The user agent – be it modifying your main .desktop (if you do, back it up) or creating a clone — but you need to pass the user-agent via the CLI.
3.) Use some “DRM unwrapper” site to check, ex: https://bitmovin.com/demos/drm
Look for the “Detected [chrome/chromium icon], using widevine” message. This will very quickly tell you if the lib is loading correctly or not.
Updated libwidevine from v4.10.1610.6 to v 4.10.1679.0
I can confirm as of 6/22/20, on the latest version of Raspberry Pi OS (32-bit) with desktop:
Version:May 2020
Release date:2020-05-27
Kernel version:4.19
Size:1128 MB
This setup still works – tested with Netflix.
Hello, i manually updated libwidevine.so…how can i check lib version? thanks
Aaron – easiest way is via python:
Thank you very much…python solution is perfect!
I installed the latest Raspbian OS today, kernel 4.19.118-v71,
Chromium Version 78.0.3904.108 (Official Build) Built on Raspbian , running on Raspbian 10 (32-bit)
I ran the script twice and rebooted, but Netflix takes me to Netflix system requirements page https://help.netflix.com/en/node/23742
Are you using the “media” version of the browser? Another possibility – and this has happened to me also – if you try Netflix before installing this, the browser tends to cache the objects, including the response “this is invalid”. If you clear cache/cookie/history/etc just for netflix it will work (if this is the problem).
Just some more info on my previous post, I noticed that when trying to see the User Agent with https://www.whatismybrowser.com/detect/what-is-my-user-agent, it shows an empty string. When I visit the site with default chromium it displays the user agent.
When viewing the user agent in Developer tools in the Request headers, it is also empty. Maybe Chromium is blocking that now?
It should work – I can verify it on my side that it picks it up. Check which browser you are using – the “customized” one essentially just adds UA headers via a CLI option.
Tnx for Post. Works like a charm. i have been looking for this solution for more than 6 months now. I can now use my raspberry pi 4 for netflix, Tnx a Lot
Great job and everything works great for me except for one weird case: if the documentary has a color-enriched historical shot in it, then the reproduction gets stuck and doesn’t go any further. After running it a few times at the point where it gets stuck, it runs OK until the end of the episode.
This happens exclusively on color-enriched historical footage, unusual and I tried it on both Raspbbery 4b / 4GB and 4b / 2GB. The kernels and configurations are different, both work without error and the Internet is fast, the optics are 80-90 Mbit.
I have no idea why this is happening both RPi 4b.
Damir – I am not sure if I can help with this, but I am curious. Is there a way I can take a look at the content?
(url/copy/etc)
Thanks for the answer, friend of mine and I did some testing on 4 pieces of Rpi 4b with different configurations.
The incidence we noticed is that the mentioned phenomenon only happens on Netflix accout in HD version (1080P). At a lower resolution – no!
The documentary we observed is Greatest Events of WWII in Color.
Our conclusion would be: color enriched historical recording is grainy and that is uncorrelated white noise which is a problem for encoder / decoder. Most interestingly, at that point, “htop” did not show a CPU core load of more than 60%, and we estimated that HW is capable of this task.
I am not sure if this is the case, but possibly the OpenGL video hardware acceleration is not enabled?
Check that on YouTube 1080p videos, as well. Same problem?
Yea – sadly the case. Still waiting for PiOS to improve in some ways around this.
See:
https://www.raspberrypi.org/blog/vc4-and-v3d-opengl-drivers-for-raspberry-pi-an-update/
and
https://developer-tech.com/news/2020/feb/03/raspberry-pi-4-opengl-es-conformant-vulkan-incoming/
We are sadly a long way from this working within Chromium.
Hello,
I installed your script using ssh, and got this when I opened the app: Invalid desktop entry file: ‘/usr/share/applications/chromium-media-browser.desktop’. I tried reinstalling, but same thing happened. I am using Raspbian Buster on a RPI 3.
You don’t need to change your name/email to re-post 🙂 — I can see the same IP for all your posts
How do I unsubscribe from email updates for this post? Not seeing a “turn it off” button/link anywhere!
Hi,
I installed the program, and when I tried to open it, I got “Invalid desktop entry file: ‘/usr/share/applications/chromium-media-browser.desktop.'” I did try reinstalling, but to no prevail.
BTW I’m running Raspbian Buster
Wick – I am not sure why you got this. I can confirm that as of today (6/22) it works on a brand new “Raspberry Pi OS (32-bit) with desktop” install (SHA-256:b9a5c5321b3145e605b3bcd297ca9ffc350ecb1844880afd8fb75a7589b7bd04)
I can confirm that my “chromium-media-browser.desktop” is working on that version:
Try to download the config file directly from my site into that location and it should work (don’t edit it, just in case you slipped an extra character)
I tried doing that, but I get the same error. the checksum looks the same. Looks like a problemon my side but I don’t know what is,
Thank you so much. It works perfectly.
Till a few days ago I had been able to see Netflix using an add-on on Kodi with rp4,. But I started getting “KeyErrors”, and could not even login. I was happy to find your website offering a very nice alternative.
Hidenori
@VPetkov.net, any idea why it only works at 480p max. Why we cannot have netflix and prime playing at least at 720p? Great script anyway.
It’s working both 720p and 1080p here…without tearing.. 😉
Sure. I totally believe you…Thank’s for sharing bro.
Update: after installing new kernal 5.4.47 there is a problem watching anything in full screen mode..screen goes full blur and normal picture is gone..to be able to watch anything in full screen i needed to enable compositor in raspi-config, but then tearing started to show again…windowed mode works with new kernal also with heavy tearing..dunno how to fix it , but i’m sure it is kernal related..when i reverted to old 4.19.118 everything works fine..any thoughts?
Tommy – Chrome OS is not on kernel v5 yet, and so technically nothing is “compiled for”/optimized in any way for v5.
I don’t believe Pi OS currently ships (or technically “supports”) v5 yet either…assuming you are manually force upgrading it? My guess is that this is actually the main problem. The Pi 4 is pretty good at not needing compositor, but I am guessing nothing is configured/optimized yet for video out natively. Give it time 🙂 — there’s not much you can do until the Pi at least ships with v5 by default.
First off you are awesome, all hail you! Have you had any luck getting this to work with Amazon Music streaming? Oddly enough Amazon Prime Video is working like a charm but the music streaming is not. It will either tell me this browser isn’t supported or if I’m lucky the music will just act like it is going to play but never start a song. Anyway keep up the good work.
David – I was curious about this. It looks like Amazon (recently?-ish) officially nixed ChromeOS support, which is ironic since it works in Prime Video as you mentioned.
It looks like this has been a long time pissing match between Amazon and Google. If you search threads/etc, it has been going on for ~4-5 years.
Even with the latest version, latest plugin – I am getting a “We no longer support this browser. Use a supported browser below”.
Looking deeper into it, even with the latest UA, same thing.
If you open the developer console, login, and start playing something — you will see the:
“Refused to connect WebPlayer.CloudPlayer…[url]…because it violates the following Content Security Policy [url]”
Sadly, I don’t think there is much that can be done for now.
Thank you so much! I have tried many times from other trouble-shooters but yours is the only one that works immediately! It’s so easy to use!
Bee – great to hear – thanks!
Fixed Comment Unsubscribe – sorry!
Hey everyone – it looks like at some point the comment plugin broke…badly, and the self-unsubscribe option flat out stopped working. Very sorry about that. I know that no one likes to get emails when they no longer want them.
I’ve fixed it and all *new* emails as of June 10th, 2020 should contain a corrected URL that lets you unsubscribe.
If for some reason it fails again, please let me know here via the comments and I’ll unsubscribe you ASAP!
I read about your awesome solution elsewhere and didn’t realise I had to ssh in. Instead applied it at the terminal of the pi concerned. pi 4b 8gb. Got error “invalid desktop entry file: ‘/usr/share/applications/chromium-media-browser.desktop’
Found your site and applied the fix correctly via ssh but still get the same error when media edition launched!
Can I just delete the invalid file and try again?
Many thanks
Hi, forgot to mention that I am running the raspberry pi os 64 bit beta. Read your reply to mick so perhaps this is the cause!
Many thanks
Billy – Assuming you are on a 64 bit OS? (if so – it will not work)
Ventz – many thanks will try it with the 32 bit os…
billy
Hi Ventz
Congrats for the posts!
I’m a newbie and I get the same error ad Billy despite being able to successfully installed in my RPi 4 8gb terminal.
So, just to confirm, NOT compatible with Raspberry Pi OS 64 bit?
Pedro – correct, it will not work on OS 64bit. Currently libwidevine is only a 32bit library, but also Google has only a 32-bit API for DRM as it turns out.
Unfortunately, I fell into this trap also.
How do you uninstall this package? I’m not finding it in Package Manager.
Spicoli – there’s no package (The browser is just a shortcut with a modified user agent).
If you want to remove, there are 3 things you want to remove:
Thank you! I’d like to see this on the 64bit OS one day – hopefully soon…
Thank you.
For 1) it is chromium-media-browser not chrome. For 2) I cant seem to find /usr/lib/chromium-browser/libwidevinecmd.so nor the usr/lib/chromium-browser folder. 3) works 🙂
Invalid desktop entry file: «/usr/share/applications/chromium-media-browser.desktop»
Assuming you are not running Raspberry Pi OS/Raspbian (based on Buster)?
Yes, installed buster with noob and updated && upgraded
cat /etc/os-release
PRETTY_NAME=”Raspbian GNU/Linux 10 (buster)”
NAME=”Raspbian GNU/Linux”
VERSION_ID=”10″
VERSION=”10 (buster)”
VERSION_CODENAME=buster
ID=raspbian
ID_LIKE=debian
Will this work on the new 64-bit OS?
Raspbian (now called “Rasbperry Pi OS”) only comes in 32 bit flavors officially – raspberrypi.org/downloads/raspberry-pi-os. That said, libwidevine will most likely not work on a 64bit version due to architecture anyway.
This is amazing! I am setting up a media center for my roommates and this is perfect.
There is just one thing, I’d like to have desktop links to the streaming websites open using the right version.
Is there a way to have desktop url links open automatically in the media version?
Is there a simple modification I can make to this file?
Arthur – there is, and it’s very easy — just add the “Exec” param (see: https://developer.gnome.org/integration-guide/stable/desktop-files.html.en), and specify the same parameter that I do for the user-agent.
(remove your “URL” directive potentially and pass in Exec)
Congrats on your latest update(march 30th). I finally was able to watch netflix, hulu and amazon prime on my Rpi 4b 8Gb using latest raspbian 32 bit. However, just found out changes are not persistent. I have to apply your update everytime I turn on my RPi. Is there anyway to make this update permanent?
Joseph – what do you mean they are not permanent? That is – this should very much be permanent 🙂
Oddly, it’s not. Every time I turn On my Rpi 4 8Gb, I have to apply your script again, reboot it to make it work once more. Once your script has been applied, It fully works until I turn Off my RPi 4. Next day, I have to repeat same process and so on. Is there anyway I can look at to fix this issue?
Working now as expected. Thank you
Thanks so much. Awesome work.
I’m happ to report that this works great, but I do have some erant behaviour to report. When I launch chromuim-broser with the user-agent string I can’t view ‘chrome://settings’. The page appears to load, then beofre I have much time to find the thing I want to change I get the dreaded ‘Aw, Snap!’ error. There are other sites that do this but I think the settings page is all I’ll mention.
If I use the original .desktop launcher, or just run chromium-browser from the commandline everything works fine, including DRM streaming sites.
TuxOKC – this is to be expected. That is, we are making the “Media edition” browser pretend to be ChromeOS, and since the ChromeOS API/framework is missing, it cannot properly load the “ID”. I have a note in the read me that since it’s the same browser, you can open the regular one, change any settings, and it applies to the “Media edition” one since the media edition is the same exact browser just another instance with the user-agent.
First of all thanks for your great work – I got Amazon Prime working smoothly on my Pi 4GB… BUT am not able to open the Settings page in the default (not ‘Media’) Chromium browser as described above. It keeps crashing with the ‘Snap!’ error.
Could you please clarify how to get back into the Chromium settings?
I just did a clean install — I cannot reproduce this. On the new install, I can load the settings in the Chromium browser, and I can’t in the “media version”. You can remove the media desktop alias and check the settings just to eliminate anything else going on.
Thanks for following up. Could you please clarify what you mean with ‘remove the media desktop alias and check the settings’? Appreciate your work!
Hi again – the following (odd) workaround does it for me: if this error happens when you are not the active ‘pi’ user on your RPI4 (as was the case for myself), firstly switch to the ‘pi’ user and access settings in the non-media Chromium. Then switch back to the other user account and you will see that you can access the settings for that user again as well. Hope this helps some1.
Thank you so much for your work here. This is truly a godsend to be able to access the services I already pay for from my Pi. So far, Netflix, ShowtimeAnytime, Hulu, and YouTubeTV work perfectly. My only issue is HBO. Neither HBO Now or HBO Max will work. Max says it’s not available, and HBO Now says the browser is out of date. Any thoughts would be greatly appreciated.
Charles – not sure about Max (I can’t check :)), but what browser version/RaspberryPi OS are you on?
Last I checked HBO Go worked with the latest browser, although I have not checked with the last update.
HBO Max is checking the version of Chrome and not allowing below a certain version. I simply changed my user-agent string to “Mozilla/5.0 (X11; CrOS x86_64 13020.87.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.119 Safari/537.36” (without actually updating chromium-browser – it’s still 78.0.3094.108-rpt1) and it allowed me to play shows. Haven’t checked any other HBO sites, but it’s worth giving it a shot.
Dion, I did change my user setting as you suggested, but HBO Max does not work. HBO Max on its site says to use latest chrome version, so I also tried “Mozilla/5.0 (X11; CrOS armv7l 12371.89.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36” user agent as chrome latest is version 84, and also the one you suggested, but neither is working. Also tried “Mozilla/5.0 (X11; CrOS x86_64 13020.87.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.105 Safari/537.36” but none works. Can you please help?
Dion, do you have any solution for this please? HBO Max still not working for me.
thank You @Ventz for generously sharing your efforts and ouststanding solutions ! I have been using
your previous method (including “Compton”) to view Amazon Prime videos (being a paid subscriber),
with full satisfaction on the R-Pi 4 with 2 gigabytes.
Just a question : if I decide to try your newer method, after manually removing or disabling “compton”,
should I / must I reactivate the regular “xcompmgr” composition-manager before applying your new one-liner ?
NimbUx – you don’t need to. It will work by default.
Hi, thanks for the solution. However, recently my raspberry pi 4 4gb had faced sudden freeze and black screen when using the chromium (media edition) playing Youtube videos. Is this issue normal with the latest update, or is that a problem with my raspberry pi. I had tried using other memory cards, HDMI cable, power cable to isolate some of the possible issues but it still occurred.
James – hard to tell. Does it happen “regularly”/in a way that you can trigger it so I can test it?
Sadly – It’s virtually impossible to debug a “one off”. I know it can be frustrating, but it needs to happen sompewhat “regularly” (or at least semi-regularly). Short of looking at the system logs, there’s no great way to check. It could be a lot of things that caused it — I noticed on the Pi before all of this, websites would randomly crash once in a while. It could be the browser plugin, code error, plugin/encryption, memory swap, etc.
I’ve had the whole pi freeze when watching videos on prime or disney+ when the Open GL driver is enabled. you can disable this in the rasp-config command but this might not be the same issue.
Works with Britbox streaming service.
Using bluetooth audio creates a 1 second lag between voice and picture. HDMI audio output has not problem.