Comments (29)
@omni6 Didn't work, according to this tool; @gort818's method worked.
from qtwebflix.
@owenthewizard Ok did not know that.. I might be able to add something that checks if you are running raspberry pi and and set it to chromeos.. what do you think? would that make it easier?
from qtwebflix.
Ok I will leave this open.. I might have it done today
from qtwebflix.
Extracting the widevine libraries from @kusti8's package was a success!
Tested on Arch Linux ARM, Netflix works as expected, however the resolution and framerate are nothing to write home about. I suspect this is because ffmpeg on Arch Linux ARM was not compiled with the the MMAL-accelerated h264 codecs. I will recompile ffmpeg and report back.
from qtwebflix.
@owenthewizard this is with --ignore-gpu-blacklist --enable-gpu-rasterization
Can you give that a try and let me know.
Also try
--enable-native-gpu-memory-buffers
To check the settings add this in the providers file for easy access.
gpu=chrome://gpu
from qtwebflix.
Wow I'm an idiot... Netflix runs perfectly smooth with --ignore-gpu-blacklist
... I somehow forgot I needed that...
Anyway, attached are screenshots of chrome://gpu with --ignore-gpu-blacklist
, --use-gl=egl
, --enable-gpu-rasterization
, and --enable-native-gpu-memory-buffers
. However I would only recommend using --ignore-gpu-blacklist
because enabling the last two cause intermittent issues (e.g. black screen) in Netflix. --use-gl=egl
didn't seem to have an effect.
@omni6 The PKGBUILD works as expected, but I think you can drop binutils from the makedepends
as it is included in base-devel.
Apologies for the 720p screenshots, I'll be able to test on a 1080p screen tomorrow (at the earliest).
Edit: I think it is safe to say that the Raspberry Pi is now a supported platform.
from qtwebflix.
Basically it is already a dependency for qtwebflix. This pkgbuild provides=('qt5-webengine-widevine') what is a dependency for qtwebflix. x86_64 users have to take widevine from aur, arm users can use the pkgbuild.
But you could update the readme.md and provide the link for arm users.
build requires base-devel
group to be installed
mkdir qt5-webengine-widevine-rpi && cd qt5-webengine-widevine-rpi
wget https://gist.githubusercontent.com/omni6/e557af6a67a41343aa859816d0113ced/raw/0c4d4f09cdb295ba47e5022adab4813766262f46/PKGBUILD
makepkg -csi
@owenthewizard raspi 3 is aarch64, right? Tested on my 64-bit odroid and this doesn't work but on your raspi everything was fine... i ask because then i should add aarch64 as architecture...
from qtwebflix.
You can, but just curious why would you need to?
from qtwebflix.
You can set the user agent by adding this lines in mainwindow.cpp
//QString UserAgent = "user agent goes here";
//this->webview->page()->profile()->setHttpUserAgent(UserAgent);
from qtwebflix.
i think it should work if you simply run:
netflix -user-agent="Mozilla/5.0 (X11; CrOS armv7l 6946.86.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.91 Safari/537.36"
user agent for chromeos (you know that you will need the widevine libs from the chrome recovery image to get it work on arm platforms?)
from qtwebflix.
@owenthewizard I am glad it worked, just curious is there a specific reason you need to set the user agent. If it is really needed I can add a way to change it.
from qtwebflix.
@gort818 Playing Netflix on the Raspberry Pi requires the user agent to be spoofed, as per @omni6's comment.
from qtwebflix.
@gort818 That would be nice, I was going to do that in my fork but you could probably do it better as I don't have experience with Qt.
from qtwebflix.
@owenthewizard ok I just updated it can you give it a go and see if it works?
from qtwebflix.
@gort818 What version of chromium-widevine should I extract widevine from (if it matters)? Alternatively, where can I find a download of 61.0.3163.140? Debian and Arch don't seem to have it anymore.
from qtwebflix.
What distro are you on?
Here is it on arch https://archive.archlinux.org/packages/c/chromium/chromium-61.0.3163.100-1-x86_64.pkg.tar.xz but it is for x86
from qtwebflix.
Download for arm? No way afaik. A while ago i commented this https://archlinuxarm.org/forum/viewtopic.php?f=47&t=11600#p56272
but the .deb package dissapeared.
You can try something like this:
https://forum.vivaldi.net/topic/23226/widevine-and-flash-for-vivaldi-on-arm-spotify-and-tidal-access
https://help.vivaldi.com/article/raspberry-pi/
But generally you have to extract this two files out of the chros-recovery into this directory:
/usr/lib/qt/plugins/ppapi/libwidevinecdm.so
/usr/lib/qt/plugins/ppapi/libwidevinecdmadapter.so
from qtwebflix.
O nice! at least we got it going! Did my fix for the Useragent work as intended?
from qtwebflix.
@gort818 Indeed! I saw the user agent change and 1080p unlocker on stdout.
from qtwebflix.
Recompiling ffmpeg didn't make much of a difference that I could tell, maybe the Arch Linux ARM Qt5-webengine package doesn't use system-ffmpeg? Although I think it would as it does in upstream Arch.
from qtwebflix.
I wish I had an extra raspberry pi but there are all busy as headless servers. I wonder if streaming at 1080p it bogging down the cpu.. check your cpu temps when streaming it might be throttling.
from qtwebflix.
@owenthewizard what model pi do you have?
Also if you have a time could you do a quick how you got it running on your pi, I would like to add it to the readme for other users.
from qtwebflix.
You're sure that qt5-webengine uses hardware acceleleration (egl)? Had problems to get this work on my odroids but i know that compatiblity is better with raspi. Does it play youtube in hd & fullscreen flawless?
from qtwebflix.
@owenthewizard
can you test this?
pkgname=qt5-webengine-widevine-rpi
pkgver=56.0.2924.84
pkgrel=1
pkgdesc="Widevine libs for rpi"
arch=('armv7h' 'armv6h')
url="https://github.com/kusti8/chromium-build"
license=('custom:proprietary')
provides=('qt5-webengine-widevine')
depends=('qt5-webengine')
makedepends=('binutils')
source=("${url}/releases/download/netflix-1.0.0/chromium-browser_${pkgver}-0ubuntu0.14.04.1.1011.deb")
md5sums=('94504ef46346ecd1260cd590b38d8914')
prepare() {
tar -xf data.tar.xz
}
package() {
install -Dm644 ${srcdir}/usr/lib/chromium-browser/libwidevinecdm.so ${pkgdir}/usr/lib/qt/plugins/ppapi/libwidevinecdm.so
install -Dm644 ${srcdir}/usr/lib/chromium-browser/libwidevinecdmadapter.so ${pkgdir}/usr/lib/qt/plugins/ppapi/libwidevinecdmadapter.so
}
don't forget:
qtwebflix --register-pepper-plugins="/usr/lib/qt/plugins/ppapi/libwidevinecdmadapter.so; application/x-ppapi-widevine-cdm
from qtwebflix.
@gort818 I have a Raspberry Pi 3 Model B. Basically I just cloned and built qtwebflix, then extracted the widevine libraries from @kusti8's chromium build.
@omni6 I don't think it's using hardware acceleration because Netflix was much smoother on my Raspbian card, not to mention being in 1080p. I can use the PKGBUILD you provided but I don't see how it is any different than what I did manually. Netflix worked without registering the plugins, do they need to be registered if they're in /usr/lib/qt/plugins/ppapi/
?
I'm planning on doing some more testing this weekend. @gort818 is it possible that hardware acceleration is disabled in qtwebflix? I don't know about the internals of qtwebengine but chromium disables hardware acceleration by default on Linux iirc and needs --ignore-gpu-blacklist
to override it.
from qtwebflix.
I can use the PKGBUILD you provided but I don't see how it is any different than what I did manually.
no it is fine if you can do it manually, but if qtwebflix ofiicially support rpi there should be IMO a simple solution to get widevine work.
and needs --ignore-gpu-blacklist to override it.
and --use-gl=egl ?
from qtwebflix.
@owenthewizard awesome glad it is working!
@omni6 How would we go about making your PKGBUILD a dependency for arm users?
from qtwebflix.
@omni6 Raspberry Pi 3 technically supports aarch64 but upstream only provides support for aarch32. I used a Raspberry Pi 2 Arch Linux ARM tarball to install (armv7). I am planning on testing aarch64 soon (tm), as according to the Gentoo Wiki video hardware acceleration works under aarch64.
from qtwebflix.
@owenthewizard
there are some new options you can now set useragent from the commandline.
Usage: qtwebflix [options]
Qtwebflix Help
To Control playback rate :
CTRL + W = speed up
CTRL + S = slow down
CTRL + R = reset to defualt
Options:
-h, --help Displays this help.
-v, --version Displays version information.
-p, --provider <provider> Set content provider eg. netflix.com
-u, --useragent <useragent> change useragent eg. "Mozilla/5.0 (X11; Linux
x86_64; rv:63.0) Gecko/20100101 Firefox/63.0"
from qtwebflix.
Related Issues (20)
- Error Code: F7353-5101 HOT 2
- NETLIX no longer works in 1080p HOT 18
- unable to play videos due to ERROR: M7111-1331 HOT 3
- Using Plex as a provider HOT 1
- Error when installing on Mint HOT 12
- Provider specific options in providers.conf file
- Installing qtwebflix on raspberry p4 and manjaro HOT 1
- It don't works. HOT 7
- Chrome_IOThread segfault
- Cursor does not hide
- 1080p NEFLIX NO LONGER WORKS! HOT 1
- Error Code F7355 on Ubuntu 18.04
- Video not working anymore on netflix HOT 2
- Cloning into 'lib/qtmpris' fails during build HOT 1
- Error code F7701-1003 HOT 4
- Can't get Amazon Prime Video to work HOT 1
- Can't build on Zorin OS (Ubuntu 20.04)
- can't play the content on bstation and iqiyi
- Is this project dead? HOT 6
- Can't right-click to switch providers
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from qtwebflix.