Kodi Media Center

If you haven’t heard already, Kodi is available with Batocera. It’s been preinstalled and configured for controller support.

Kodi is not available on oga/rk3326, orangepi-zero2, rpi1 and rpizero2-based images due to not being able to play videos well and a lack of rotation (most oga/rk3326 devices' screens are actually in portrait aspect ratio rotated 90 degrees). This may change in the future as developments are made.

Kodi is a free and open-source media player software application developed by the XBMC Foundation, a non-profit technology consortium. Kodi is available for multiple operating systems and hardware platforms, with a software 10-foot user interface for use with televisions and remote controls or gamepads. It allows users to play and view most streaming media, such as videos, music, podcasts, and videos from the Internet. It supports all common digital media files from local and network storage media.

To launch Kodi, please follow the steps below.

  • Make sure Kodi is enabled in the SYSTEM SETTINGSKODI SETTINGS menu
  • From this menu, you can associate Kodi to the North button (X SNES) button, or enable it at Batocera start.
  • Then, when enabled and depending on the configuration options, you can launch Kodi with the North button (X SNES) button, or the first entry in the MAIN MENU.
  • Once you are in the Kodi interface, to exit and get back to Batocera's game menu, you can press [SELECT] and click on the on/off icon in the top left corner of the screenshot below, and select exit from this menu.

If you have a Netflix account, you can use Kodi to watch Netflix shows. However, by default, you'll need to enter your Netflix credentials on each reboot. The reason is, by default, Batocera Linux creates a unique machine-id on every boot, and if the Kodi Netflix plugin sees a new machine-id, it requires you to log in again.

Workaround to force always the same machine-id:

1. Log through SSH on your Batocera machine.

2. Save permanently your current machine-id with the following commands:

 cat /var/lib/dbus/machine-id > /userdata/system/machine-id
 ln -sf /userdata/system/machine-id /var/lib/dbus/machine-id
 batocera-save-overlay

3. Now, your UUID is saved in /userdata/system/machine-id and will not change on each reboot, and Netflix shouldn't ask for your credentials every time.

Caveat: you have to recreate the symbolic link and save the overlay after each Batocera upgrade/downgrade.

To fix local network access (such as NAS, networked TV devices, media servers, etc.) for Kodi on Batocera there is a very simple thing to do!

In Kodi, navigate to SettingsServicesSMB client

And change its two parameters:

Minimum protocol version:
Maximum protocol version:

To:

Minimum protocol version: SMBv2
Maximum protocol version: SMBv3
  • Minimum protocol version - Set the minimum SMB protocol version to negotiate when making connections. Forcing SMBv2 may be required to prevent SMBv1 use on some OS. SMBv1 is not recommended for security reasons.
  • Maximum protocol version - Set the maximum SMB protocol version to negotiate when making connections. Forcing SMBv2 or SMBv1 compatibility may be required with older NAS's and Windows' shares. Sometimes, access to specific SMB versions can be adjusted from the server (NAS, Windows computer hosting the share, etc.) itself. Always use as high a version of SMB as possible.

With this in mind, consider that Batocera is not a secure operating system and take care when adjusting network settings on your other devices.

Adding the Youtube add-on for Kodi requires a bit of manual work, and some knowledge on how Google services use API keys and application access rights. It's NOT easy to configure for anyone, unfortunately.

There's a Youtube plugin available for Kodi, but it requires a few install steps, from very easy to a bit complicated.

1- [Easy]: Install the Youtube plugin from the Kodi Add-on repository Go to the Settings (gear icon) → Add-ons → Install from repository → Kodi Add-on repository → Video add-ons → Youtube (at the end of the list). It might also download dependencies, depending on the other add-ons you already installed.

2- [Still easy]: Launch the Youtube Add-on, from the “Add-ons” menu. Click on “sign-in”. The first time, you'll get a message box, telling you to log twice. Do as requested, and on a computer or smartphone with your, sign in with a web browser to the URL that is given to you from the plugin google.com/device and enter the code provided. Google will ask you to authenticate, with potentially MFA, depending on your Google setup. Then, Google will tell you that you can access Youtube on your TV. That seems easy enough…. but it's wrong, there's an additional step.

3- [More complicated]: From your browser, go to https://console.developers.google.com/. Create a project, let's call it Youtube K-Addon You will need to create for this project an API key (with no restriction when created) and an OAuth client ID, and make sure you use TV and limited input type. This OAuth client ID, once generated, will give you access to a client ID and client secret.

4- [Painful]: Go back to the Youtube plugin, Settings (last option in the list), select API on the left-hand side menu and put:

  • API Key: <your api key>
  • API Id: <your client ID>
  • API Secret: <your client secret>
  • Allow developer keys: turn it ON

These keys are very long, but there is an option to help you with copy/paste: toggle the Enable API configuration page and then you can enter the three fields above if you point your browser to http://<batocera_ip>:50152/api.

5- [Easy again] Redo step [2] you'll be prompted with a new code, but then you'll be able to use the Youtube Add-on.

Some NAS vendors support only older versions of SMB. Known examples are:

  • Freebox Revolution - Set the mininum protocol version to SMBv1.
  • Orange Livebox 2019 - Set the mininum protocol version to SMBv1.

Source: https://kodi.wiki/view/Settings/Services/SMB_Client#Minimum_protocol_version

  • kodi.txt
  • Last modified: 4 months ago
  • by atari