Blu Ray menus

Thanks for clarifying.

I asked LE on their Slack about this and they’ve said that while it’s supported, there are some issues. They pointed me to this:

Can you clarify if you experience this problem?

I’m not going to integrate things if remote support is entirely broken

Sam

Replied in PM

Hello.
There are some issues really, but not as dramatic as is it described in that topic.

  1. After i started playback from BD-J menu i cannot open Kodi’s player menu by clicking button on my TV remote as usual. However when i connect a USB mouse to my RPi4b - with left mouse click a player menu menu opens as usual and I can do all the things (change audio track, skip playback to certain timestamp etc) but I can’t jump to certain chapter. Chapter selection have no effect.
  2. With my TV remote i still can Pause ( :pause_button:︎ ) / Forward ( :fast_forward:︎ ) / Rewind ( :rewind:︎ ) / Stop ( :stop_button: )movie
  3. When i Click “Next” ( :next_track_button:︎ ) or Previous ( :previous_track_button: ) buttons to jump to next/prev chapter on remote a menu appears like i just started a playback with options “Play Main Title” “Select Title” and “Show BluRay Menu”
  4. All the time Main Title is played under BD-J the title’s name displayed in player’s menu as “Blu Ray Menu”

Is this remote control behavior different than when you play a DVD?

I’ve looked at this today and fortunately now have a couple of Blu-ray discs with BD-J menus, so I should be able to verify things. However we have some issues.

Firstly, the version of libbluray that we use in OSMC 1.0.2. This is a bit old, and didn’t seem to support the newer versions of Java in Debian 11/12. We use this version with downstream patches to support 3D MVC ISO support on Vero 4K / 4K + and V.

I did try and backport Java support to this version but failed to do so. I then updated libbluray to the latest version (1.3.4) here to see if that yielded improvement. It did not. This has reminded me once again that we need to use the official Oracle version of Java (and Ant). However it seems that we need to use a very old version of Java. This could break other applications in OSMC that use / depend on Java and isn’t ideal.

There are also licensing terms with having to use Oracle’s implementation of Java which means we could never include this as part of the default installation (as well as the size of Java itself). This is why this is not standard in LE as well.

Will have a think about what can be done.

We’ve taken some steps towards enabling this, including updating libbluray to 1.3.4 and porting our 3D patches over.

It would be good to get some testing.

To test this update:

  1. Login via the command line
  2. Run the following command to add the staging repository:
    echo 'deb http://apt.osmc.tv bullseye-devel main' | sudo tee /etc/apt/sources.list.d/osmc-devel.list
  3. Run the following commands to update: sudo apt-get update && sudo apt-get dist-upgrade && reboot
  4. Your system should have have received the update.

I also recommend you remove /etc/apt/sources.list.d/osmc-devel.list after updating.

This will deactivate the staging repository. You can do so with the following command:
sudo rm /etc/apt/sources.list.d/osmc-devel.list.

Please note that we will automatically disable this update channel after 14 days on your device in case you forget to do so to ensure that your system reverts to the stable update channel.

After doing so, you’ll need to install Java. You can do so by going to My OSMC → App Store and installing ‘Java Runtime Environment’.

Not going so great thus far: I tried it on three different UHD blu rays that I happen to have in folder format, and all three of them gave me a sad face error.

Logs: https://paste.osmc.tv/borudobola

I have a proplem with installing jre from the appstore, is it supported on the V yet?

I moved your post to the more relevant thread. The jre that is currently installing from the app store seems to not be the version needed for the Blu-ray menus. Sam may have gotten a little ahead of himself with that post. There is a team member that has gotten this working on their system but they are still working out some details on the distribution. I would give them a day or three to work out the final details.

2 Likes

The JRE version is the correct version. It’s possible that we can’t build against the JDK version used however.

If you give it a go now, it should be working.

We are aware of some limitations, but for now this is as good as it will get.

There’s still some work to do with getting JRE to work on some installations, but if you have an issue then manually running:

sudo apt-get install default-jre

should do the trick.

Cheers

Sam

After following your instructions including the install of JRE I could succesfully switch “Blu-ray playback mode” to “Show Blu-ray menu”. Before I got a warning. But trying to play a BR-disc now results in an unwatchable experience with all CPU’s at 100%. Fps is like 1 frame a second. Going back to “Show simplified menu” resolves the issue.

Some debug logs would be great.

Hello.
After repeating all this steps all BD-J menus of my disks is working :slight_smile:
Are you going to add this update to main release ? When ?
I would like to also emphasize on mentioned issue when Kodi’s player menu which is usually activated by “Ok” buttion on TV remote doesn’t work when video played under DB-J menu (just like in LibreElec). I can access player menu only by mouse left click if I connect it to RPi4.
May be some special keymap settings is needed ?
Fortunately, unlike under LE - in OSMC i can navigate though chapters, with :next_track_button:︎ and :previous_track_button:
So the only problem remains is to call video player’s menu on screen.
DVD menu working fine btw.

1 Like

How many blurays did you test?
Some have very simple menus and others have more complicated ones.
One of the guys here might know off the top of their head what blurays ar ebest for menu testing.

The issue seems to be that when playing these files Kodi isn’t switching the keymap control over to fullscreenvideo when it switches from the menu to the actual content. My best attempt at a workable keymap is as follows. With this the OSD will come up with most remotes when you press the menu button, and the bluray menu will show/hide with the back/exit button. For CEC, since TV’s frequently don’t forward a menu button via CEC, I mapped the OSD to the play button and switched pause to being play/pause instead of being dedicated pause as it is stock.

<?xml version="1.0" encoding="utf-8"?>
<keymap>
  <VideoMenu>
    <keyboard>
      <rightbracket>osd</rightbracket><!-- OSMC remote menu -->
      <c>osd</c>
      <menu>osd</menu>
      <browser_back>PlayerControl(ShowVideoMenu)</browser_back>
      <backspace>PlayerControl(ShowVideoMenu)</backspace>
      <browser_back mod="longpress">back</browser_back>
      <backspace mod="longpress">back</backspace>
      <key id="216">PlayerControl(ShowVideoMenu)</key><!-- CEC exit -->
      <key id="230">PlayPause</key><!-- CEC pause -->
      <key id="234">OSD</key><!-- CEC play -->
    </keyboard>
  </VideoMenu>
</keymap>

Hello. Sorry for the late response.
Thanks a lot!
I have checked your configuration and it seems to be working fine for me just right as you have explained.
“Back” button on TV remote calls special BD-J menu with options to get back to main menu, resume playback, sometimes with Audio/Subtitle, extra material options, depending on particular disc which i suppose to be right behavior.
Play button calls Kodi’s OSD player menu. This is fine for me.
I can pause movie with Pause button, use Rewind/Fast forward and chapter navigation as usual
I additionally assigned keys from remote

<key id="250">audionextlanguage</key>
<key id="44">showsubtitles</key>

to enable/disable subtitles and cycle through audio and it is also working fine.

Unfortunately i can’t get my lovely

<key id="254">playerprocessinfo</key>
<key id="253">playerdebug</key>

working under BD-J which i frequently use when play some videos. But that’s a minor inconvenience.

And there is also issue that Kodi doesn’t show Audio track name (usually it’s language name) when played under DB-J. All of them exposed as “Unknown”

Despite that I am happy :slight_smile:

Eleven, actually )
Star Wars 1-9, Mad Max: Fury Road and Angel-A which actually doesn’t have any menu and simply starts movie playback.
If you have any information which discs might be problematic i could try to find and test ones.
I know there are practices to make something like video games using DVD/BD menus. I experienced some DVD based quest games couple dozens years ago )

Thanks for the feedback.

That would seem to be a limitation of the BD-J patch and not something that can be fixed with a keymap. I tried to directly push the actions from the terminal with kodi-send -a playerdebug and that didn’t get me the desired result. If it doesn’t work using that method, it isn’t going to work key-mapping it. If you need that feedback from a video I suppose you would just need to switch to playing it with the simple menu so it just uses the regular video render method.

I only have a single example of this kind of file but that is showing for me…

Hi

My pleasure. Thank you once again for solving this issue.

Minor inconvenience. Nothing to worry about

Hmm. Interesting. Can i debug somehow reason of that ? Because MPC-HC for Windows shows properly audio track name when I play same BluRay with it.