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:
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:
curl -fsSL https://pi.vpetkov.net -o 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/
Pingback: Long run take a look at: Raspberry Pi 400 Private Laptop Equipment assessment – PiGurus
Pingback: Long term test: Raspberry Pi 400 Personal Computer Kit review - PiShop Blog
Pingback: Raspberry Pi 4: Evaluation, Shopping for Information and Tips on how to Use – PiGurus
Pingback: ▷ Revisión De La Raspberry Pi 4, Qué Es y Qué Puede Hacer
Pingback: Raspberry Pi OS gets official Widevine support (allows you to play Netflix, Amazon Prime, Hulu, etc.) | CodePre.com
To everyone who waited patiently, there is some great news:
Take a standard Raspberry Pi OS, and then do:
Enjoy, and thank the Raspberry Pi foundation for being awesome!! 😉
I have a raspberry PI 3b +. I have updated my system, Chromium, libwidevinecdm and run the libwidevinecdm script. I can not play Amazon and Nexflix I can see it but the sound does not play. Can you help me?
Pingback: Installing an operating system and software on the Raspberry Pi - Wordskillet | A premium content writing, content marketing and digital marketing agency based in Chandigarh India
Pingback: Terminal HP T620 - Pomiędzy bitami
Pingback: Hands-On with Ubuntu Unity 20.10 on the Raspberry Pi 4 - 9to5Linux
Pingback: Hands-On with Manjaro Linux ARM on Raspberry Pi 4: A Gem! - 9to5Linux
Pingback: First Look at OpenMandriva Lx 4.2 on the Raspberry Pi 4 - 9to5Linux
Pingback: Hands-On with SparkyLinux 5.14 on the Raspberry Pi 4 - 9to5Linux
Pingback: First Look at MX Linux Fluxbox on the Raspberry Pi 4 - 9to5Linux
Pingback: Sound output unpredictable ~ Raspberry Pi ~ TroubleToday.net
Works great for me. Has anyone turned this into something more like a TV? I’d like to have some kind of remote app for my iOS device so I can switch between Netflix, D+, and Browser.
curl: (23) Failed writing body (0 != 2863)
This was WAY too easy! Thank you!
Any idea if this will work on a RetroPie set up???
I know people have found a way to put a Chromium Browser in RetroPie under ports… But it would still need the Wildvine add on to access Netflix/Prime/Disney+ etc.
Hello – thanks for this – I get the following error when trying to execute Chromium (Media Edition) : Invalid desktop entry file: ‘/usr/share/applications/chromium-media-browser.desktop’
hi, i am using rpi4 8gb (64bit).
i followed all the instructions but when i open media edition, it says..
Invalid desktop entry file: ‘/usr/share/applications/chromium-media-browser.desktop’
Thank you so much, this is a life saver!
I’m getting this error, any idea why?
“Error: Invalid desktop entry file: ‘/usr/share/applications/chromium-media-browser.desktop'”
I have a Raspberry Pi 4, 8GB ram. Everything is pretty standard otherwise
(posted about question here as well: https://raspberrypi.stackexchange.com/questions/119542/chromium-media-edition-problems/119563#119563)
Also as a followup, I followed the suggestion of the answer over there, and played around with the .desktop file, and that didn’t change anything at all
Aw darn, didn’t notice the “not on Ubuntu” part and was confused why a successful install didn’t make either Spotify or Netflix work. Curious why it doesn’t work on Ubuntu? And maybe it would be worth adding a call to uname in the script and bailing if you see “Ubuntu”? Also, should I try to undo what the script did?
Hey, thank you very much for the script. I thought about putting it on GitHub and maybe work on it a tiny bit. For example, I would like to inline the desktop file you download.
Would you be okay with that? What license should I choose?
Max – thanks for checking. I generally use CC By-SA v4 (https://creativecommons.org/licenses/by-sa/4.0/)
Imo, this is the “fair” license for everything by default.
For some things, I’ve released under MIT and Apache 2.0 (each has pros and cons).
For this – imo, Google has done the “heavy lifting” for the libwidevine. My work is essentially extracting it and packaging things in a “friendlier” manner.
My only concern about having “yet another copy” is that at one point there were 2-3 other versions floating by, eventually they were not really updated, and people saw those links/etc, and came here to ask questions. What you see in the comments is about 1/10th of the messages I get…and for a free “support in my free time” project, it has started taking a lot *a lot* of free time.
With all that said, to your question – I do have a repo already for this (it was for the RPi foundation – long story). If you want, I can open it up and add you to it. I can also make it public so others can benefit from it.
Thank you for your extensive answer.
I totally understand your concerns about too many versions.
I already forked your new repository. I will try to work a bit on it and send you a Pull Request then. I hope that this will prevent you having to support outdated or experimental versions.
First off thank you very much for this code
it works amazingly
I do however have an issue where it causes the video to freeze in one section
and it freezes the entire pi
any solutions ?
Max – opened up from latest revision (https://github.com/ventz/raspberry-pi-libwidevine)
Added CC By-SA v4 (https://creativecommons.org/licenses/by-sa/4.0/) as it looks like it was already licensed under that originally, and I can’t pull that away from users – that includes all my work. Obviously anything from Google has their licensing.
I run Chrome Version 87.0.4280.88 (Offizieller Build) snap (32-Bit) under Ubuntu Mate.
The script seem to work fine but I cannot play Spotify or Amazon Video.
Same error, “no digital rights components”.
Maybe someone has an idea and can help out.
Pingback: Pi and I - Jan Söhlke
Can’t seem to get Chromium to stream from Hulu. It keeps on asking me to enable services location, but I still get an error from Hulu that my browser isn’t supported.
Hi! Awesome work, thank you!
I’ve just installed the newest raspios from official raspberry download site, run your script, but every time I go to the chromium settings page the tab crashes with “RESULT_CODE_KILLED_BAD_MESSAGE” message.
Hardware: RPI4 2GB
OS: Newest chromium with newest updates, Raspbian GNU/Linux 10 (buster)
What am I doing wrong ?
All the best!
Hello! Thanks again for this wonderful script, which I enjoy on my raspberry Pi 4 running Raspian 32bit OS. However I wonder if there is a possibilty to make this work on a Pi 4 with the latest Ubuntu 64bit with Chromium-browser installed?
Does this solution work for pi 3 too?
Can you tell me if the patch has been tested on the latest release of the Raspberry Pi OS Release date: December 2nd 2020?
The release notes for the O/S indicate an update to Chromium browser to version 84. I haven’t sent my Pi 4 out for this update because it works so well with Britbox.com why fix anything.
I’m curious. You indicated the Pi O/S team was talking to you regarding the fix you do to get streaming services to work. Can you share any insight?
This solution was working all fine. But it stopped working after the recent upgrade.
I keep getting an error “Your web browser is missing a digital rights component. Go to chrome://components and under WidevineCdm, click Check for update.”
Browser crashes every time I go to settings.
Please let me know if you have any solution.
You don’t say what OS you are using. I did a full upgrade of default raspOS on the 4th and posted on 5th as o had the same issue. Later on 5th i tried updates to a number of things. Then I tried to spoof the browser using https://chrome.google.com/webstore/detail/user-agent-switcher which i had to do in Chrome. Then i ran the two lines of script above in a new terminal window again.
Closed everything, restarted raspi4 and Chromium (Media Browser) now works fine.
Thanks to vpetkov 👍
Thanks Ventz, after the recent December update of raspberry os, i found out the DRM error come back again in Chromium. Just run your script once again and problem solve! Awesome!
Thank you so much for this little piece of wonder! Netflix now works. Only there’s quite a lot of video tearing. Do you know if this is normal or if it can be fixed? I’m on a Raspberry pi 4B with raspbian os.
Thanks a lot for this solution! Netflix works. However, I’m having issues with quite a lot of video tearing when running Netflix, and also in Youtube. I can’t seem to get rid of it. Is this normal, or can it be resolved? Running Raspbian OS on a Raspberry pi 4B.
Been loving what you’re doing, but for some reason I can’t get it working now. I’m on a rpi4b 8gb. It was working great until just the other day and no mater how many times I curl/sh, netflix and disney+ pull drm errors. just wondering what I’m doing wrong.
I was using your older solution from here: https://blog.vpetkov.net/2019/07/12/netflix-and-spotify-on-a-raspberry-pi-4-with-latest-default-chromium/
Everything worked fine until few days ago, when I ran
Looks like chromium-browser has changed to chromium.
Old script and this (new bash) script, aren’t working.
I replaced chromium-browser with chromium in the Exec lines, but same, spotify and netflix aren’t working.
This is the chromium version I’m using:
Any solution for this ?
Thanks a bunch !
Version 84.0.4147.141 (Official Build) Built on Raspbian , running on Raspbian 10 (32-bit)
Same as Andrew above after upgrade 🙁