There are certainly bluray players that will work for your disks. They often cost ~$50 in most of the stores around and AFAIK all have the DRM restrictions built in.
There also is makemkv which when installed can rip the bluray disk to an mkv file after which almost any video player can play it. Of course your drive on the PC must be bluray as well to read the disk.
I have not tried video players with bluray disks but IIUC few (if any) have the ability to decrypt a bluray disk. Almost all can play a DVD disk.
A while back I crated a script that automatically downloads and installs the latest aacs keys from a public database.
It allows you to play most Blu-Rays using something like VLC, so long as you install the libraries that it needs to read the disks, witch I believe are either in the main fedora repos, or in rpmfusion. I don’t remember what they’re called off the top of my head though.
If it helps, I can make a gist on github, and share it.
If you schedule it as a timer, or as cronjob, and run it daily, it stays pretty up-to-date.
I just checked. The libraries are libaacs, and libbluray, just like in arch, and they’re in rpmfusion.
It would be useful to have that script, or at least the source of the keys. I already have both those libraries installed (libaacs is from rpmfusion, libbluray from fedora) but do not have the needed keys to play the disks.
I made some changes for this version.
Well, “some” changes. I basically rewrote the entire script, but it’s much better now.
It was originally something I did in about 15 minutes to solve the problem of manually installing the KEYDB.cfg file every time I wanted to update it. So I wanted to clean it up before posting it anywhere.
It tries to install the database globally by default, which requires root. You can use ‘-l’ to install locally instead.
It also looks for a file named key_header containing the device host key headers, but you don’t need this, and it usually ends up being useless anyway, as any of the device keys that have been found are old and will be permanently revoked the moment you insert any recent disk with a newer key.
FindVUK updates constantly, so I usually run an update once a day. You can use cron, or systemd timers for this. Ideally you’d be able install this as a package, and it would set up the timer for you. Building a package is a lot of extra work for this one script though, so I’m not going to worry about that.
One important note is that this wont fix BD+ disks.
BD+ is kind of a buggy mess right now, but if you want more on it there’s a Doom9 forum post you should see that covers how you can, sort of, fix it. It includes links to the BD+ table files. From what I understand, they’ve patched libbdplus, so you can skip the part where you have to do that manually.
If they had a central BD+ table database, I would write a script for that too, but, unless I host my own, which I don’t want to, it’s hard for me to make a simple download script, like with the AACS VUK files.
I got a Blu-Ray of “Running Man” working, since it already was in the installed KEYDB.
Others didn’t work yet (only tried two disks). The menus didn’t work though, only the film is playing. Anyway your script does its job.
What I’ve did (this also enables dvd playback):
Installed Repos and Software (probably not every step is needed)
Installed crontabs in order to use cron and anachron sudo dnf install crontabs
Downloaded @cptgraywolfscript made it executable sudo chmod a+x aacsdb-update.sh
and placed it into cron.weekly sudo mv aacsdb-update.sh /etc/cron.weekly/
Executed the script sudo bash /etc/cron.weekly/aacsdb-update.sh
→ This downloads, unzips and moves the KEYDB to /etc/xdg/aacs
→ This location doesn’t seem to work with vlc
----> This can be fixed by giving world readable permissions
----> chmod -R a+r /etc/xdg/aacs
Switched to the user context and executed the script with the argument “-l” (only neccessary, if point 4 doesn’t work) bash /etc/cron.weekly/aacsdb-update.sh -l
→ This copies the KEYDB to ~/.config/aacs
→ This location worked for me using the vlc player
It doesn’t seem like the “/etc/xdg/aacs” location is always honored.
I don’t really have a solid solution to that.
You could run a single script that checks all the directories under “/home” to see is they contain a “.config” folder, then link “/home/<user>/.config/aacs” to the “/etc/xdg” location, if the folder exists.
There are other, more in-depth, options too. Ones that would try things like: checking each user’s passwd entry, to see if it should install the config for them or not.
It would be nice if libaacs would always honor the “/etc/xdg/aacs” location, or, at least, something like that, but I’m not sure if we’ll see that happen or not.
It only occurred to me after the initial post that symlinks would be the obvious choice for this. I think I’m going to implement the fist option, and use a check to make sure the symlink exists in each home folder that contains a ‘.config’ directory.
I can’t be bothered to test passwd entries.
I’ll update the gist once it’s done.
You should see it in “Revisions”, when that happens.