Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
![]() |
#1 | Link |
Registered User
Join Date: Jun 2005
Posts: 261
|
Blu-ray playback with libaacs & libbdplus
After a long hiatus, discoveries in the past few years on this forum have made Blu-ray playback possible again on free (libre) software such as VLC without proprietary solutions such as DVDFab, MakeMKV or AnyDVD.
Presented here is a new libaacs & libbdplus build for Windows with some improvements made by several different people. Included are Win32/Win64 builds and the actual source patches. It would be nice if someone actually good at C can clean these up and integrate them on the VideoLan source repository. Improvements:
How To (Windows):
Builds:
Directories:
Decryption keys:
Debugging:
About BD+:
About RDK:
About UHD:
About Java menus:
About Region Coding:
Command line tools:
To do:
Last edited by candela; 5th August 2023 at 20:55. |
![]() |
![]() |
![]() |
#2 | Link |
Registered User
Join Date: Apr 2018
Posts: 25
|
This is a very interesting post. I'm curious about the cached BD+ tables you posted. Is this archive really comprehensive? If so, then there really is no longer a need for libbdplus, vm0, and all that.
You could just locate the correct decrypted BD+ table for the disc, parse it, and deliver the patches directly in response to requests for particular sectors of data. That code is pretty simple and could be incorporated directly into libaacs. |
![]() |
![]() |
![]() |
#3 | Link | |||
Registered User
Join Date: Jun 2005
Posts: 261
|
Quote:
Quote:
Quote:
And I still hope the libbdplus implementation will be improved at some point in time |
|||
![]() |
![]() |
![]() |
#4 | Link | |
Registered User
Join Date: Apr 2018
Posts: 25
|
Quote:
I don't think there would be changes necessary for libbluray. Each time a block of data is requested from libaacs, it would decrypt it as needed and also check if there are BD+ patches that need to be applied. If there are patches, it would just apply them before returning the decrypted data to libbluray. |
|
![]() |
![]() |
![]() |
#5 | Link |
47.952fps@71.928Hz
Join Date: Mar 2011
Posts: 940
|
Thanks for the updated libraries!
I just stumbled through the forum looking for updated downloads so I can start watching Community on bluray with all the commentary. It's a lot easier for tv blurays to start from the menu, as most programs just start with the longest title first when using something like DVDFab Passkey.
__________________
Win10 (x64) build 19041 NVIDIA GeForce GTX 1060 3GB (GP106) 3071MB/GDDR5 | (r435_95-4) NTSC | DVD: R1 | BD: A AMD Ryzen 5 2600 @3.4GHz (6c/12th, I'm on AVX2 now!)
|
![]() |
![]() |
![]() |
#6 | Link | ||
Registered User
Join Date: Dec 2017
Posts: 41
|
Quote:
Quote:
|
||
![]() |
![]() |
![]() |
#7 | Link |
Registered User
Join Date: Feb 2014
Posts: 14
|
Hi
I have tried this on Mac OS X, but without success I have patched libaacs and libbdplus and the compilation works. I can read the Blu-ray, libaacs cache the MK, but i can't read BD+ Blu-ray (i have the corruption). Can you help me ? |
![]() |
![]() |
![]() |
#8 | Link | |
Registered User
Join Date: Jun 2005
Posts: 261
|
Quote:
Also can you adapt How To: for mac so I can put in my initial post |
|
![]() |
![]() |
![]() |
#9 | Link | |
Registered User
Join Date: Dec 2017
Posts: 41
|
Quote:
Windows: %AppData%\bdplus\convtab (per user installation) or %ProgramData%\bdplus\convtab (system wide installation) Linux: $HOME/.cache/bdplus/convtab (per user installation) or /etc/xdg/bdplus/convtab (system wide installation) Mac (I'm not 100% sure about these): $HOME/Library/Caches/bdplus/convtab (per user installation) or /Library/Preferences/bdplus/convtab (system wide installation) I hope this helps. |
|
![]() |
![]() |
![]() |
#11 | Link |
Registered User
Join Date: Jan 2013
Posts: 4
|
FWIW, I tried this with Kodi and the libbluray/libaacs/libbdplus stack (with the patches from candela, of course) and wondered why BD+ wasn't working, despite the convtab.bin's being at the right place. I found out that after selecting the desired title from Kodi's title selection dialog, it always said "bdplus_m2ts(...): no conversation table" without any real traces of libbdplus doing anything beforehand.
So I patched bdplus.c:bdplus_m2ts() to simply trigger a BDPLUS_RUN_CONVTAB event based on the bdplus_test.c example and finally got it working that way. What I did to "fix" this might be a very bad idea, and even libbluray or Kodi might be doing something wrong, but I thought anyway I'd share my findings and also the patch to apply to the libbdplus sources, see the attached file. Maybe someone finds another way to fix this "the right way", though until then hopefully this is of any help for anyone. Thanks to candela (and whoever is involved in this) for getting BD+ playback to work in this way! EDIT: Seems like the attachment needs approval, until this is done, I've uploaded the patch to https://anonfile.com/U0Hfh885nf/bdpl...vtab.patch_txt (no mega account, sorry). Last edited by nst; 11th October 2019 at 10:10. Reason: Attachment awaiting approval |
![]() |
![]() |
![]() |
#12 | Link |
Registered User
Join Date: May 2011
Posts: 76
|
Thank you very much for this
![]() I tested the 32 bit variant on Windows 10 together with the LAV codecs and DVBViewer on two different PCs. In my HTPC, I have an "UHD friendly" drive. I used some older and some brandnew Blu-Rays and also my few 4k Blu-Rays. Everything played back fine so far. I have no problems with Blu-Ray playlists because I developed a little add on for DVBViewer which manages and displays the playlists on it's own. It tries to detect the main movie and if this fails, you can choose any other playlist as the main movie. |
![]() |
![]() |
![]() |
#13 | Link |
Registered User
Join Date: Dec 2017
Posts: 41
|
New host certificate. Already revoked in MKBv72, but since it works up to MKBv71 it might help someone else.
Code:
| HC | HOST_PRIV_KEY 0x909250D0C7FC2EE0F0383409D896993B723FA965 | HOST_CERT 0x0203005CFFFF800001C100003A5907E685E4CBA2A8CD5616665DFAA74421A14F6020D4CFC9847C23107697C39F9D109C8B2D5B93280499661AAE588AD3BF887C48DE144D48226ABC2C7ADAD0030893D1F3F1832B61B8D82D1FAFFF81 ; Revoked in MKBv72 |
![]() |
![]() |
![]() |
#15 | Link | ||
Registered User
Join Date: Mar 2019
Posts: 23
|
Quote:
mega:#!oJVjwKCT!0L7a7ftjQhVqcIOXUOZid88818Rnsu-y_CyKY3ra4-4?_escaped_fragment_=oJVjwKCT!0L7a7ftjQhVqcIOXUOZid88818Rnsu-y_CyKY3ra4-4 Quote:
|
||
![]() |
![]() |
![]() |
#17 | Link | |
Registered User
Join Date: Jan 2013
Posts: 4
|
Quote:
Thanks, nst |
|
![]() |
![]() |
![]() |
#18 | Link | |
Registered User
Join Date: Jun 2005
Posts: 261
|
Quote:
|
|
![]() |
![]() |
![]() |
#19 | Link | |
Registered User
Join Date: Jan 2013
Posts: 4
|
Quote:
|
|
![]() |
![]() |
![]() |
#20 | Link |
Registered User
Join Date: May 2011
Posts: 76
|
I have one question regarding the disc keys in the keydb.cfg
Today I tried to playback the UHD of Valerian and the playback failed because the disc key was missing. So I queried the key with the little program "aacs_info", duplicated the line of the existing VALERIAN UHD and excanged only the disc key with the queried one. Is this already ok? The disc seems to playback fine with this modification. |
![]() |
![]() |
![]() |
Thread Tools | Search this Thread |
Display Modes | |
|
|