Player software for Media Centre nodes.
Hardware
Configuration
Remote Config
Set in .kodi/remote.conf
.
This is a non-userdata setting so must be restored after upgrades.
AppleTV remote.conf:
# Apple TV remote
factory_code = 0x87ee0001
work_mode = 1
repeat_enable = 1
release_delay = 150
debug_enable = 1
reg_control = 0xfbe40
key_begin
0x0b 103 ;UP
0x0d 108 ;DOWN
0x08 105 ;LEFT
0x07 106 ;RIGHT
0x04 28 ;OK
0x02 14 ;MENU
key_end
Disable Logging
<advancedsettings>
<loglevel>-1</loglevel>
</advancedsettings>
Buffer Media
Kodi does not buffer local media (including smb://
and nfs://
) by default.
Set advancedsettings/network/buffermode (v17 Krypton: advancedsettings/cache/buffermode) to 1 (cache all):
<advancedsettings>
<network>
<buffermode>1</buffermode>
<readbufferfactor>5</readbufferfactor>
<!-- <cachemembuffersize>52428800</cachemembuffersize> -->
</network>
</advancedsettings>
Shared Database
<advancedsettings>
<musicdatabase>
<type>mysql</type>
<host>${MYSQL_IP}</host>
<port>3306</port>
<user>${USER}</user>
<pass>${PASSWORD}</pass>
</musicdatabase>
<videodatabase>
<type>mysql</type>
<host>${MYSQL_IP}</host>
<port>3306</port>
<user>${USER}</user>
<pass>${PASSWORD}</pass>
</videodatabase>
<videolibrary>
<importwatchedstate>true</importwatchedstate>
<importresumepoint>true</importresumepoint>
</videolibrary>
</advancedsettings>
${MYSQL_IP}
: Hostname or IP address of MySQL server.
${USER}
: MySQL username
${PASSWORD}
: MySQL password
Server permissions
Give user permission to use and create new Kodi databases.
grant all privileges on `MyMusic%`.* to ${USER};
grant all privileges on `MyVideos%`.* to ${USER};
Services
Enables Airplay, UPnP, web interface (no username or password)
<settings>
<services>
<airplay>true</airplay>
<airplaypassword default="true"></airplaypassword>
<airplayvolumecontrol default="true">true</airplayvolumecontrol>
<devicename>${LOCATION}</devicename>
<esallinterfaces>true</esallinterfaces>
<escontinuousdelay default="true">25</escontinuousdelay>
<esenabled default="true">true</esenabled>
<esinitialdelay default="true">750</esinitialdelay>
<esmaxclients default="true">20</esmaxclients>
<esport default="true">9777</esport>
<esportrange default="true">10</esportrange>
<upnpannounce default="true">true</upnpannounce>
<upnpcontroller default="true">false</upnpcontroller>
<upnprenderer>true</upnprenderer>
<upnpserver default="true">false</upnpserver>
<useairplaypassword default="true">false</useairplaypassword>
<webserver>true</webserver>
<webserverpassword></webserverpassword>
<webserverport default="true">80</webserverport>
<webserverusername default="true"></webserverusername>
<webskin default="true">${WEB_INTERFACE}</webskin>
<zeroconf default="true">true</zeroconf>
</services>
</settings>
${LOCATION}
: the name of the room the player is in.
${WEB_INTERFACE}
: webinterface.chorus
if it is installed, otherwise webinterface.default
Multi Room Audio
Add-on : http://kodi.wiki/view/Add-on:XSqueeze
Troubleshooting
Migrating database paths
use MyVideos119;
update path set strPath = REPLACE(strPath, 'smb://MEDIA/', '/auto/');
Fixing broken databases
-
Enable loglevel=0 in advancedsettings.xml Check for log messages about upgrade failures
NOTICE: Attempting to update the database MyVideos99 from version 93 to 99 ERROR: SQL: [MyVideos99] Undefined MySQL error: Code (1060) Query: ALTER TABLE movie ADD userrating integer
-
Stop media nodes
rake HOSTS="lounge ballroom bedroom-mark" media_stop
Login to Hastur mysql
-
Drop old database
drop database MyVideos99
-
Start master media node
rake HOSTS="lounge" media_restart
Check logs for successful upgrade
-
Restart other media nodes
rake HOSTS="lounge ballroom bedroom-mark" media_restart