Working BD-J menu support for Kodi 18.4 or newer, links to a precompiled libbluray
#1
After a few trials and errors I was able to compile libbluray java portion.
I have no idea if I did everything right but I ended up with libbluray-awt-j2se-1.1.1.jar and  libbluray-j2se-1.1.1.jar.

This is just a part of it, I need to compile the windows .dll.

I've tried following this:
https://forum.videolan.org/viewtopic.php?t=129023

But I ended up with no windows.h output.

I've seen people talking about you can get it pre compiled with "contribs".
What is it? where can I get the libbluray 1.1.2 or 1.1.1 precompiled?
Reply
#2
Why are you doing this when Kodi on Windows already comes with libbluray Huh
Reply
#3
(2019-05-22, 16:59)jjd-uk Wrote: Why are you doing this when Kodi on Windows already comes with libbluray Huh

Because it's not the latest version even on nightly builds.

On the latest nightly UHD blurays do not work properly.
I believe kodi still uses pre 1.0 versions.
Maybe 0.9?

Since I don't know how to compile it for windows I had to use the ones in Jriver server and put those on Kodi's folder.

Those are 1.1.0 and with matrix nightly I'm able to watch Alien 1979 uhd bluray with menus and all without any problem. Just an example.

1.1.1 and 1.1.2 got improved bd java support so if I could get those pre compiled I could drop those on kodi's folder and even more discs could work.
Reply
#4
We use v1.0.2 see https://github.com/xbmc/xbmc/blob/master...4.list#L21

As for where to get libbluray precomiled I've no idea.
Reply
#5
(2019-05-22, 17:23)jjd-uk Wrote: We use v1.0.2 see https://github.com/xbmc/xbmc/blob/master...4.list#L21

As for where to get libbluray precomiled I've no idea.

So that makes sense. 

It's 3 months old now and this is the changelog so far:

2019-??-??: Version 1.1.2
- Add libxml version to pkg-config Requires.private.

2019-04-05: Version 1.1.1
- Enable playback without menus when index.bdmv is missing.
- Improve error resilience and stability. - Improve BD-J compability.
- Fix loading libraries on MacOS / hardened runtime.
- Fix resetting user-selected streams when playing without menus.
- Fix stack overflow when using Java9+ with debugger connection.
- Fix polygon-based BD-J graphics primitives.
- Fix loading libmmbd in Windows 64-bit.
- Fix loading classes with Windows Java 8.
- Fix build with Java 1.6.
- Fix pkg-config Libs.private.

2019-02-12: Version 1.1.0
- Add initial support for OpenJDK 11.
- Add initial support for UHD disc BD-J menus.
- Add support for compiling .jar file with Java 9+ compiler.
- Move AWT classes to separate .jar file.
- Update libudfread submodule repository URL.
- Improve main title selection.
- Improve error resilience and stability.
- Improve BD-J compability.
- Fix playback of some broken BD-J discs.
- Fix playback of discs without normal titles (only TopMenu / FirstPlay title).

So an updated version would be really appreciated. 
Maybe for the next nightly? 

Or if I could have directions how to compile the dll, since I already compiled myself the jar portion of it I offer myself to help and keep a thread here or help you guys to keep it always up to date.
I just need some guidance.
Reply
#6
You could try this https://msys2.duckdns.org/package/mingw-...po=mingw64

These come from https://github.com/msys2/MINGW-packages/...-libbluray

Can not vouch for if there's any chance of it working, so at your own risk.

[edit] Looking at the build script I think that may well be built without the Java support enabled see https://github.com/msys2/MINGW-packages/...GBUILD#L35
Reply
#7
So the windows version is different from the one here? 

https://code.videolan.org/videolan/libbluray
I've cloned this git to compile the linux version. 

I was hoping I could this all on linux I don't have any experience with mingw.

Looking at those 2015 instructions there's
$ ./configure --host=i686-w64-mingw32

So I was hopping it would be a matter of configure && make with different attributes.
Reply
#8
I don't know as I never compile stuff. Looking at Gitlab the current released version is v1.1.1 as v1.1.2 is not tagged yet, looks like v1.1.2 is still under development in Master branch.

@Ace are you about? any plans to bump libbluray?
Reply
#9
(2019-05-22, 17:52)jjd-uk Wrote: I don't know as I never compile stuff. Looking at Gitlab the current released version is v1.1.1 as v1.1.2 is not tagged yet, looks like v1.1.2 is still under development in Master branch.

@Ace are you about? any plans to bump libbluray?

@jjd-uk and @Ace 

Ok, found the new .jar files already compiled inside the vlc contribs. The contribs are these packages:
https://nightlies.videolan.org/build/contribs/

So I took it, renamed to 1.1.0 which is the version expected by the libbluray of JRiver.

And it works Smile

Made a ready to drop on kodi's folder package here:
LOOK AT NEXT POST FOR DOWNLOAD LINK

I have zero knowledge of what's going on inside the dll files so I don't know if this is working as it should but there we go.
Reply
#10
After a day of hard google skills I've done it and and I completely updated to libbluray 1.1.1 and also I've updated a bunch of dll dependency for the newest I could find. 

First, for anyone looking you can find libbluray-2.dll already compiled here:
http://repo.msys2.org/mingw/x86_64/

But this won't be enough, you will need the following:
libbluray-awt-j2se-1.1.1
libbluray-j2se-1.1.1

That you can find here:
https://nightlies.videolan.org/build/contribs/

This covers libbluray 1.1.1 but you will need:
libatomic-1.dll
libbz2-1.dll
libcharset.dll
libcharset-1.dll
libfreetype.dll
libfreetype-6.dll
libgcc_s_seh-1.dll
libglib-2.0-0.dll
libgomp-1.dll
libgraphite2.dll
libharfbuzz-0.dll
libharfbuzz-gobject-0.dll
libharfbuzz-icu-0.dll
libharfbuzz-subset-0.dll
libiconv.dll
libiconv-2.dll
libintl-8.dll
liblzma-5.dll
libminizip-1.dll
libpcre-1.dll
libpcre2-8-0.dll
libpng16-16.dll
libquadmath-0.dll
libssp-0.dll
libstdc++-6.dll
libwinpthread-1.dll
libxml2.dll
libxml2-2.dll
libzip.dll
zlib1.dll

You can find most of those in: 
http://repo.msys2.org/mingw/x86_64/

Those are the packages I used to updated:

mingw-w64-x86_64-bzip2-1.0.6-6-any.pkg.tar
mingw-w64-x86_64-cmake-3.14.2-1-any.pkg.tar
mingw-w64-x86_64-freetype-2.9.1-1-any.pkg.tar
mingw-w64-x86_64-gcc-libs-8.3.0-2-any.pkg.tar
mingw-w64-x86_64-geocode-glib-3.26.1-1-any.pkg.tar
mingw-w64-x86_64-gettext-0.19.8.1-8-any.pkg.tar
mingw-w64-x86_64-gimp-2.9.8-1-any.pkg.tar
mingw-w64-x86_64-glib2-2.60.1-1-any.pkg.tar
mingw-w64-x86_64-graphite2-1.3.13-1-any.pkg.tar
mingw-w64-x86_64-harfbuzz-2.4.0-2-any.pkg.tar
mingw-w64-x86_64-libbluray-1.1.1-1-any.pkg.tar
mingw-w64-x86_64-libiconv-1.15-3-any.pkg.tar
mingw-w64-x86_64-libpng-1.6.37-3-any.pkg.tar
mingw-w64-x86_64-libwinpthread-git-7.0.0.5325.11a5459d-1-any.pkg.tar
mingw-w64-x86_64-libxml2-2.9.9-1-any.pkg.tar
mingw-w64-x86_64-libzip-1.5.2-1-any.pkg.tar
mingw-w64-x86_64-optipng-0.7.6-1-any.pkg.tar
mingw-w64-x86_64-pcre2-10.33-1-any.pkg.tar
mingw-w64-x86_64-pcre-8.43-1-any.pkg.tar
mingw-w64-x86_64-xz-5.2.4-1-any.pkg.tar
mingw-w64-x86_64-zlib-1.2.11-5-any.pkg.tar

This means, not only I'm offering here libbluray to it's most up to date version but also all those libraries that if I would have to guess Kodi uses some really out dated ones. 

TL;DR
Download this and have a bunch of libraries updated and libbluray 1.1.1 (the latest) with full UHD BD support:

https://mega.nz/#!zYVGnCYT!HRh_AzoTAmPIL...SmAUuxvPnA
Reply
#11
(2019-05-24, 00:12)fandangos Wrote: After a day of hard google skills I've done it and and I completely updated to libbluray 1.1.1 and also I've updated a bunch of dll dependency for the newest I could find. 
[...]
TL;DR
Download this and have a bunch of libraries updated and libbluray 1.1.1 (the latest) with full UHD BD support:

https://mega.nz/#!zYVGnCYT!HRh_AzoTAmPIL...SmAUuxvPnA
Thank you so much!

Your package download works now fine with Kodi 18.4 64bit and also some nightly Kodi19 build i tried.

I am JKD 11.0.5 because i could not get VLC 3.0.8 work with a newer JDK, and i first made sure i had VLC 3.0.8 run with BD-J menus (especiallysetting JAVA_HOME and PATH environment variables ). VLC is so much easier to diagnose than Kodi. Kodi doesn't even hae a pop-up menu stating that it can not find a Java installation when you try to play from a BD-J menu.

Otherwise installation is easy, just save libbluray.dll and libxml2.dll to some backup location, and install all files from the rar into the kodi directory. And if there are problems, just re-establish the saved two dll files.

Alas, this BD-J package does not work with 18.2 MVC build. Seems that 12.2 is too old, misses an entry point:
("The procedure entry point bd_clip_close could not be located...").

Now i've got to figure out how to build a newer MVC fork *sigh*.
Reply
#12
Btw: You may want to pull up the instructions how to install your package into the first post and change the title to indicate that thi is now a solution instead of a problem, e.g.: "HOWTO: Working BD-J menu support for Kodi 18.4 or newer".

Btw: The old 1.0.2 version could do NONE of my BD-J titles i think. Maybe it would work if i was to install an even older version of JDK than the 11.0.5 i am using now, but given how there is no documentation or popup window in Kodi for BD-J, one can only guess.
Reply
#13
(2019-10-27, 15:40)te36 Wrote: Btw: You may want to pull up the instructions how to install your package into the first post and change the title to indicate that thi is now a solution instead of a problem, e.g.: "HOWTO: Working BD-J menu support for Kodi 18.4 or newer".

Btw: The old 1.0.2 version could do NONE of my BD-J titles i think. Maybe it would work if i was to install an even older version of JDK than the 11.0.5 i am using now, but given how there is no documentation or popup window in Kodi for BD-J, one can only guess.

This is an old thread before I started working my own fork of Kodi.

If you want a complete already compiled package to compile yourself along with Kodi you can get on my github:
https://github.com/fandangos/xbmc/releases/tag/1.1.2
Install instructions already provided on github but there you go:

This is a formed package for libbluray 1.1.2 this can be used instead of the old 1.0.2 when using the download dependencies batch file.

1. Replace the line: libbluray-1.0.2-x64-vc140.7z
with libbluray-1.1.2-x64.7z
on file xbmc-master/project/BuildDependencies/scripts/0_package.target-x64.list

2. Add this package to xbmc-master/project/BuildDependencies/downloads/

3. Compile kodi as explained here:
https://github.com/xbmc/xbmc/blob/master...Windows.md

This is aimed for Windows x64 only and you can use this package with Kodi 18 if you want to. 


My fork named Kodi HDR Edition already incorporates libbluray 1.1.2 to Kodi 19 nightly. 
Thread here: 
https://forum.kodi.tv/showthread.php?tid=345566

Latest release here:
https://github.com/fandangos/xbmc/releases/tag/2.9.1

As explained in the other thread HDR can't be incorporated in Kodi prior to 19
Link here:
https://forum.kodi.tv/showthread.php?tid...pid2895473

Hope this helps.
Reply
#14
(2019-10-29, 16:21)fandangos Wrote:
(2019-10-27, 15:40)te36 Wrote: Btw: You may want to pull up the instructions how to install your package into the first post and change the title to indicate that thi is now a solution instead of a problem, e.g.: "HOWTO: Working BD-J menu support for Kodi 18.4 or newer".

Btw: The old 1.0.2 version could do NONE of my BD-J titles i think. Maybe it would work if i was to install an even older version of JDK than the 11.0.5 i am using now, but given how there is no documentation or popup window in Kodi for BD-J, one can only guess.

This is an old thread before I started working my own fork of Kodi.

If you want a complete already compiled package to compile yourself along with Kodi you can get on my github:
https://github.com/fandangos/xbmc/releases/tag/1.1.2
Install instructions already provided on github but there you go:

This is a formed package for libbluray 1.1.2 this can be used instead of the old 1.0.2 when using the download dependencies batch file.

1. Replace the line: libbluray-1.0.2-x64-vc140.7z
with libbluray-1.1.2-x64.7z
on file xbmc-master/project/BuildDependencies/scripts/0_package.target-x64.list

2. Add this package to xbmc-master/project/BuildDependencies/downloads/

3. Compile kodi as explained here:
https://github.com/xbmc/xbmc/blob/master...Windows.md

This is aimed for Windows x64 only and you can use this package with Kodi 18 if you want to. 


My fork named Kodi HDR Edition already incorporates libbluray 1.1.2 to Kodi 19 nightly. 
Thread here: 
https://forum.kodi.tv/showthread.php?tid=345566

Latest release here:
https://github.com/fandangos/xbmc/releases/tag/2.9.1

As explained in the other thread HDR can't be incorporated in Kodi prior to 19
Link here:
https://forum.kodi.tv/showthread.php?tid...pid2895473

Hope this helps. 
Great info, thanks. I have not yet gotten into HDR due to the absence of a HDR capable display, but i am lurking for a new projector for christmas that would be able to do HDR.

Meanwhile i am trying to figure out how i can build an MVC version of Kodi together with latest libbluray, so your pointer is very welcome wrt. to compiling new libbluray. Alas, i can not find anyone who would tell me where to find the MVC patches *sigh*. Oh well, i'll continue hunting.
Reply
#15
(2019-10-31, 21:00)te36 Wrote:
(2019-10-29, 16:21)fandangos Wrote:
(2019-10-27, 15:40)te36 Wrote: Btw: You may want to pull up the instructions how to install your package into the first post and change the title to indicate that thi is now a solution instead of a problem, e.g.: "HOWTO: Working BD-J menu support for Kodi 18.4 or newer".

Btw: The old 1.0.2 version could do NONE of my BD-J titles i think. Maybe it would work if i was to install an even older version of JDK than the 11.0.5 i am using now, but given how there is no documentation or popup window in Kodi for BD-J, one can only guess.

This is an old thread before I started working my own fork of Kodi.

If you want a complete already compiled package to compile yourself along with Kodi you can get on my github:
https://github.com/fandangos/xbmc/releases/tag/1.1.2
Install instructions already provided on github but there you go:

This is a formed package for libbluray 1.1.2 this can be used instead of the old 1.0.2 when using the download dependencies batch file.

1. Replace the line: libbluray-1.0.2-x64-vc140.7z
with libbluray-1.1.2-x64.7z
on file xbmc-master/project/BuildDependencies/scripts/0_package.target-x64.list

2. Add this package to xbmc-master/project/BuildDependencies/downloads/

3. Compile kodi as explained here:
https://github.com/xbmc/xbmc/blob/master...Windows.md

This is aimed for Windows x64 only and you can use this package with Kodi 18 if you want to. 


My fork named Kodi HDR Edition already incorporates libbluray 1.1.2 to Kodi 19 nightly. 
Thread here: 
https://forum.kodi.tv/showthread.php?tid=345566

Latest release here:
https://github.com/fandangos/xbmc/releases/tag/2.9.1

As explained in the other thread HDR can't be incorporated in Kodi prior to 19
Link here:
https://forum.kodi.tv/showthread.php?tid...pid2895473

Hope this helps. 
Great info, thanks. I have not yet gotten into HDR due to the absence of a HDR capable display, but i am lurking for a new projector for christmas that would be able to do HDR.

Meanwhile i am trying to figure out how i can build an MVC version of Kodi together with latest libbluray, so your pointer is very welcome wrt. to compiling new libbluray. Alas, i can not find anyone who would tell me where to find the MVC patches *sigh*. Oh well, i'll continue hunting.

I don't own a 3D display and even at the dolby cinema in Eindhoven I felt it wasn't that exciting maybe I'm part of the population that can't see 3D effects.

So, as far as I know MVC can't be integrated with Kodi 19.
It needs a Leia build.

You should PM Wanilton or visit xbmcbrasil. I believe you might find what you are looking for.
Reply

Logout Mark Read Team Forum Stats Members Help
Working BD-J menu support for Kodi 18.4 or newer, links to a precompiled libbluray2