Kodi
Kodi, formerly Xbmc is a video/audio library tool.
Locations
~/.kodi/temp/kodi.log
~/Library/Logs/kodi.log
%APPDATA%\Kodi\kodi.log
log
Customization
Homescreen
Homescreen
## Home Page > System > Settings > Appearance > Skin > - Settings > Home Window # Hide - Music # Hide - PicturesWeather
## Home Page > Weather > Settings > Advanced Options # Location 1 Display name: Ottawa # Location 1 ID: CYOWMovies
## System > File Manager > Add Source http://fusion.xbmchub.com ## System > Settings > Add-Ons > Install from Zip # fusion.xbmchub > video > repositories # 1channel # icefilms # projectfreetv ## Home Page > Video > Video Add-Ons # 1 Channel # Ice Films # Project Free TV ## Home Page > System > Settings > Appearance > Skin > - Settings > Add-on > Home Page Video Submenu # 1 Channel # Project Free TV # Ice Films # YoutubeRepositories
Kodi can be extended with Addons, Addons can be submitted to a repository so that users can get access to several at once. Here are the most useful addons that I have found to date:
WARNING:
I have had some issues installing plugins for the kodi krypton under linux. Installing this seems to have helped.
fusion -> xbmc-scripts -> scripts.module.urlresolver
XBMC HTTP sources (System > File Manager > Add Source) http://fusion.tvaddons.ag/ Fusion Repo (oneChannel, iceFilms, exodus, etc..) http://srp.nu/ SuperRepo (kissAnime, much, much more) http://kodi.emby.media Emby Addon Favourite Repositories Bstrdskmr(?) theHighway https://github.com/HIGHWAY99/repository.thehighway Favourite Addons Default Youtube Fusion OneChannel Project Free TV Exodus SuperRepo KissAnime AnimeFate AnimeGet KissCartoon Video Add-Ons/NetfliXBMC Installing Workflow
System > File Manager > Add Source # Add HTTP Source System > Addons > Add from Zip File # Navigate to HTTP Source and choose Repo or Addon # (Note that you may need to RightClick and refresh a few times) Video > Addons > Get Addons # Enable/Install AddonsCustom Keybindings
Resources https://github.com/xbmc/xbmc/blob/master/xbmc/input/ButtonTranslator.cpp List of all bindable kodi/xbmc actions http://kodi.wiki/view/Keymaps Official Kodi Keymap Docs (Also with list of bindable kodi/xbmc actions, possibly less current) http://kodi.wiki/view/Window_IDs 'Window Names' for assigning kodi keys in. (key can behave differently in HOME than VIDEO). Locations ~/.kodi/userdata/keymaps/keyboard.xml
Custom-User Keybindings Settings Tweaks
Settings >> Playback >> # Crop Widescreen VideosEmby Addon
## Create Addon Respository http://kodi.emby.media # Install from zipfile # the emby user we're using is 'Alex' (since she's most likely to be using this) Addons > Emby > Settings > Playback > Play from HTTP instead of SMB # Make sure that you check 'ok' or the setting will not be saved.
jsonRPC Interface
Enable RPC
# Enable RPC interface HOME > System > Services > Web Server >> Allow Remote Control via HTTP >> Port 5634 # (Spells KODI in numbers) >> Username will >> Password *****# Enable Logging HOME > System > System > Debugging >> Enable Debug Logging # Graphical & Output to a log file >> Enable Component Specific Logging # Fine Tuned Logging >> Specify Component Specific Logging # Make RPC requests extra verbose >>> Verbose Logging for RPC Requests # You'll need to reset kodi for logging to beginxbmc-client
xbmc-client allows you to control xbmc from the commandline (or over SSH) through XBMC's jsonRPC API. This is the lazy way, someone else has gone through all of the work to talk to xbmc for you.
xbmc-client --ping test connection xbmc-client --up/--down/--right/--left up/down/left/right xbmc-client --select enter key xbmc-client --weather/--home shortcuts to other locations xbmc-client --sendtext="text to send" enter info into field
sudo pip2 install xbmc-clientSystem/Settings/Network/Services: activate Allow control of XBMC via HTTP# ~/.config/xbmc-client/config [xbmc] host=http://localhost:8080 user=will password=test
python jsonrpclib
As usual, with any connection over TCP, the best way to find out about it is to send it to netcat listening on a particular port. Note that as of this time, jsonrpclib does not support username/password authentication, and it's contents are compressed using gzip. This means it cannot be used with xbmc .
sudo pip2 install jsonrpclibserver = jsonrpclib.Server('http://localhost:5643') ## Connect to kodi's rpc server server.Input.Down( window=settings ) ## Interface with kodi's rpc API ## What this actually looks like on the other side is: {"jsonrpc": "2.0", "params": {"window": "settings"}, "id": "bk7fnzb1", "method": "Input.Down"}
http://www.simple-is-better.org/rpc/#example Good documentation on jsonrpclib https://github.com/joshmarshall/jsonrpclib official documentation python-xbmc
This is another json-rpc interface written entirely in python. This is the path of least resistance for communicating with xbmc.
from xbmcjson import XBMC, PLAYER_VIDEO xbmc = XBMC('http://localhost:8643/jsonrpc', 'will', 'password') xbmc.Input.Down() ## Down xbmc.GUI.ActivateWindow(window="home") ## From here you can use the API