On 27/01/18 10:23, Peter Robinson wrote:
Does anyone know if it's in any way possible to play encrypted ("DRM") HTML 5 videos on the 64-bit version of Fedora for ARM, i.e. the aarch64 version?
Generally not.
Well, that's a shame. I was rather hoping I could use this unit for "web tv" from my Cable TV provider...
The ARM way of doing this is generally having a "firmware" (Trusted App) running in the secure "TrustZone" part of the ARM processor [1] which has the keys (or what ever they are for DRM content) to enable the decryption. On the Linux host side you then need an application (or gstreamer plugin) that then speaks to the TrustedApp to deal with the decryption side of things which can then pipe the output through any HW offload, if available, to be able to display the content.
OK
There are reference implementations [2] but I have no idea what they do or if they're publicly accessible.
Maybe I'll have a closer look.
If I install chromium, I get a "libwidevinecdm.so" configuration in "alternatives", which by default points to /usr/lib64/chromium-browser/libwidevinecdm.so.fedora. I suspect that this is just a type of place-holder, though, rather than the a real content decryption module, and I certainly can't play encrypted videos at https://demo.castlabs.com/.
I'm using Fedora 27 on a Raspberry Pi 3, and I've installed "chromium-libs-media-freeworld" from RpmFusion for codec support.
I wouldn't expect anything from rpmfusion to provide this functionality. That repo primarily provides open source implementations of codecs that Fedora can't redistribute due to other reasons such as patents and other such bits. It doesn't generally go towards the encrypted media playback because most of that tends to 1) require proprietary binary blobs 2) interact with bits outside of processor. Basically that repo would allow you to play the video once the auth side of things are done.
No, there doesn't appear to be anything in RpmFusion. I just thought I'd mention that I've installed its codecs, since if I hadn't, it would not just be DRM that stopped me from playing videos.
The libwidevine.so.fedora is actually a part of Fedora itself, but again, I suppose this is not the real deal?
The other version I have comes from Google. They don't seem to provide it separately, but it can be extracted from ChromeOS images for various ARM boxes. Unfortunately, it seems like all of these run in 32-bit mode (even though some of them have 64-bit CPUs.)
Help anyone?
Related question: Is there any way I can run 32-bit software on a 64-bit installation for ARM, in a similar manner to how I can start i686 programs on x86_64? I think I've found a "real" 32-bit libwidevinecdm.so... I know going 32-bit all the way via the armhfp distribution might be an option, but
We don't support multilib on ARM, there's enough difference in the aarch64 instruction set that it won't work effectively in the same way x86_64/i686 multilib works and there's not the legacy apps to demand it.
Well, that's reasonable, I guess.
We do support running Fedora produced armhfp on the RPi3. I don't believe the RPi3 supports any of the TrustZone stuff well enough to be able to run the Trusted App mentioned above for the DRM side of things anyway, we also don't currently support any of their media offload functionality on Fedora either.
I think there are people out there who claim they are getting the ChromeOS libwidevinecdm (see above) to work on the Pi3 with other Linux distributions, but there is always the chance that they have reached the wrong conclusions...
Maybe I'll try the armhfp distribution one of these days, but it seems like too much hassle right now.
Thanks.
- Toralf
[1] https://www.arm.com/files/event/Developer_Track_6_TrustZone_TEEs_and_Trusted... [2] https://production.linaro.org/projects/reference-digital-media-platforms-for...