<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Iainmacleod</id>
	<title>Official Kodi Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://kodi.wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Iainmacleod"/>
	<link rel="alternate" type="text/html" href="https://kodi.wiki/view/Special:Contributions/Iainmacleod"/>
	<updated>2026-06-17T16:16:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://kodi.wiki/index.php?title=Archive:Chromebox&amp;diff=74073</id>
		<title>Archive:Chromebox</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Archive:Chromebox&amp;diff=74073"/>
		<updated>2014-04-28T21:00:22Z</updated>

		<summary type="html">&lt;p&gt;Iainmacleod: /* Set Developer Boot Flags */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox information appliance&lt;br /&gt;
| name = Asus Chromebox&lt;br /&gt;
| image = [[File:Asus_chromebox.jpg|300px]]&lt;br /&gt;
| manufacturer = Asus&lt;br /&gt;
| releasedate = 2014-03-14 (US)&lt;br /&gt;
| os =  Chrome OS&lt;br /&gt;
| cpu = Intel® Celeron 2955U Processor&lt;br /&gt;
| graphics  = Intel® HD Graphics 4000&lt;br /&gt;
| storage = 16GB internal SSD&lt;br /&gt;
| memory = 2 GB, Dual Channel, DDR3 at 1600MHz&lt;br /&gt;
| connectivity = HDMI, Displayport, Bluetooth 4.0, USB 3.0, Wifi 802.11 a/b/g/n, 10/100/1000 Ethernet, 2 -in-1 Card Reader, Audio jack&lt;br /&gt;
| dimensions = 4.88 x 4.88 x 1.65 inch (WxDxH)&lt;br /&gt;
}}&lt;br /&gt;
[[File:Asus_chromebox_ports.jpg|right|300px|Asus Chromebox Rear Ports|thumb]]&lt;br /&gt;
[[File:Asus_chromebox_ports_2.jpg|right|300px|Asus Chromebox Side/Front Ports|thumb]]&lt;br /&gt;
{{mininav|[[Devices]]|[[x86 hardware]]}}&lt;br /&gt;
&amp;lt;section begin=&amp;quot;intro&amp;quot; /&amp;gt;The ASUS Chromebox is a small lightweight intel PC that runs Chrome OS and can be made to boot into other linux versions. It features HDMI, Displayport, USB 3 ports, gig ethernet, SD card slot, and internal wireless-n networking. This page is a collection of links, information, tips, and guides related to running XBMC on the ASUS Chromebox line of computers.&amp;lt;section end=&amp;quot;intro&amp;quot; /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Device Preparation ==&lt;br /&gt;
&lt;br /&gt;
=== Put in Developer Mode ===&lt;br /&gt;
&lt;br /&gt;
Putting the ChromeBox in developer mode will allow you to access the underlying Linux operating system features necessary for installing XBMC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;WARNING&#039;&#039;&#039;: This will erase all user data on the device.&lt;br /&gt;
&lt;br /&gt;
With the device powered off:&lt;br /&gt;
# Insert a paperclip into the hole left of the SD card slot and press the recovery button&lt;br /&gt;
# Power on the device, then remove the paper clip&lt;br /&gt;
# When greeted with the recovery screen, press CTRL-D to enter developer mode&lt;br /&gt;
# Press the recovery button (with paperclip) to confirm.  &lt;br /&gt;
&lt;br /&gt;
The device will reboot and wipe any existing user data.&lt;br /&gt;
&lt;br /&gt;
[[File:Recoverybutton.png|300px]]&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Disable Firmware Write Protect ===&lt;br /&gt;
&lt;br /&gt;
Disabling the firmware write protect will allow us to (later) set the firmware boot flags to shorten the developer boot screen timeout (from 30s to ~1s), and optionally boot directly to the legacy BIOS (and into Ubuntu or OpenELEC).  This is not absolutely necessary, but highly convenient and carries little to no risk.&lt;br /&gt;
&lt;br /&gt;
With the device powered off and unplugged:&lt;br /&gt;
&lt;br /&gt;
# Remove (4) rubber feet from bottom of unit&lt;br /&gt;
# Remove (4) screws under rubber feet&lt;br /&gt;
# Separate two halves of unit&lt;br /&gt;
# Remove write-protect screw circled below:&lt;br /&gt;
#::[[File:Inside-chrome1.jpg|300px]]&lt;br /&gt;
# Reassemble in reverse order&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Update the Legacy BIOS === &lt;br /&gt;
&lt;br /&gt;
It is necessary to update the legacy BIOS to enable booting from USB/SD media, or if replacing ChromeOS with Ubuntu/OpenELEC, as the stock legacy BIOS is completely broken.  If you dual booting and using either the ChrUbuntu or ChrOpenELEC scripts to install, then this step is included as part of those scripts and does not need to be done manually.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To update the legacy BIOS:&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Power on and boot to ChromeOS&lt;br /&gt;
# Hit CTRL-ALT-F2 to open a shell&lt;br /&gt;
# Login with user chronos (no password required)&lt;br /&gt;
# Download the updated legacy BIOS with the command: &lt;br /&gt;
#: &amp;lt;nowiki&amp;gt;curl -L -O http://johnlewis.ie/asus-chromebox-SeaBIOS-new.bin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Flash the new bios with the command:&lt;br /&gt;
#: &amp;lt;nowiki&amp;gt;sudo flashrom -w -i RW_LEGACY:asus-chromebox-SeaBIOS-new.bin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
This updated legacy BIOS has a ~5s wait on the &#039;Press ECS to show boot menu&#039; screen.  If you would prefer a shorter wait (~1.5s), use the following file/commands instead of those listed in steps 4/5 above:&lt;br /&gt;
: &amp;lt;nowiki&amp;gt;curl -L http://gdurl.com/EVKN/download -o seabios.bin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
: &amp;lt;nowiki&amp;gt;sudo flashrom -w -i RW_LEGACY:seabios.bin&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The md5sum on seabios.bin is F1290EC96AC77026044E29E62B40F6CC&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Set Developer Boot Flags === &lt;br /&gt;
&lt;br /&gt;
Setting the following boot flags will allow you to boot  either to a backup copy of ChromeOS on USB/SD (using CTRL-U) or to the legacy BIOS (using CTRL-L) and into Ubuntu or OpenELEC.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Important: These boot flags must be set before installing either Ubuntu or OpenELEC.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To set the boot flags, perform the following steps:&lt;br /&gt;
&lt;br /&gt;
# Power off your ChromeBox, then power on but do not login. &lt;br /&gt;
# Press CTRL-ALT-F2 to open a shell.&lt;br /&gt;
# Login as user chronos, no password is needed.&lt;br /&gt;
# Run the commands:&lt;br /&gt;
#: &amp;lt;nowiki&amp;gt;sudo crossystem dev_boot_usb=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#: &amp;lt;nowiki&amp;gt;sudo crossystem dev_boot_legacy=1&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; Jump to [[ASUS_Chromebox#Set_Firmware_Boot_Flags|Section 3.1 Set Firmware Boot Flags]] if you wish to have auto-boot into legacy BIOS (OpenELEC/Ubuntu).  If it is not carried out at this stage I found I had to re-install Chrome OS to do this, and then start modifications from scratch.  There is a warning about configuration of Boot Flags later in the wiki, I just wanted to add one slightly earlier to help users like me.&lt;br /&gt;
&lt;br /&gt;
=== Create a Backup Copy of ChromeOS (on USB/SD)=== &lt;br /&gt;
&lt;br /&gt;
If you plan on wiping ChromeOS to install OpenELEC (vs dual booting), it&#039;s a good idea to have a backup copy of ChromeOS on USB that you can boot to if necessary.  These instructions assume you have already put the ChromeBox into developer mode and set the developer boot flags as per above.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To create a bootable USB copy, perform the following steps:&lt;br /&gt;
&lt;br /&gt;
# Power off your ChromeBox, then power on but do not login. &lt;br /&gt;
#: Press CTRL-ALT-F2 to open a shell.&lt;br /&gt;
#: Login as user chronos, no password is needed.&lt;br /&gt;
#: &lt;br /&gt;
# Insert a USB stick or SD card (8GB minimum) and run the command:&lt;br /&gt;
#: &amp;lt;nowiki&amp;gt;sudo fdisk -l | grep &#039;Disk /dev/sd&#039;&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#: &lt;br /&gt;
#: This will list all the drives your ChromeBox sees. The main internal HDD is /dev/sda, any connected USB/SD devices will be /dev/sdb, /dev/sdc, etc.  Identify the device corresponding to the USB/SD card you inserted (compare sizes). &lt;br /&gt;
#:&lt;br /&gt;
# Run the following command to copy/install ChromeOS to your USB/SD card:&lt;br /&gt;
#: &amp;lt;nowiki&amp;gt;sudo chromeos-install --skip_src_removable --skip_dst_removable --skip_vblock --dst /dev/sdb (or whatever your device is from above step)&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
# When the process completes, your Chromebook will reboot. Now with the USB/SD card still inserted, Press CTRL-U to boot the USB/SD copy of ChromeOS. On first boot, it will want to repair itself and then reboot to the standard login screen.&lt;br /&gt;
#:&lt;br /&gt;
# Lets confirm we&#039;re booted off of the external device.&lt;br /&gt;
#: Press CTRL-ALT-F2 to open a shell.&lt;br /&gt;
#: Login as user chronos, no password is needed.&lt;br /&gt;
#: Run the command:&lt;br /&gt;
#:: &amp;lt;nowiki&amp;gt;rootdev -s -d &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#:&lt;br /&gt;
We should see the same device as identified in step 2 above, instead of /dev/sda for the internal HDD.&lt;br /&gt;
Now we have a backup ChromeOS install that we can boot into at will with CTRL-U&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Perform a Factory Reset ===&lt;br /&gt;
&lt;br /&gt;
A factory reset is not needed on a &amp;quot;fresh&amp;quot; device, only needed if one has previously installed either Ubuntu or OpenELEC and wishes to either switch to the other or start over.&lt;br /&gt;
&lt;br /&gt;
# Create recovery media using step 2 of Google&#039;s instructions here: https://support.google.com/chromebook/answer/1080595?hl=en&lt;br /&gt;
# With the device powered off, use a paperclip to press the Recovery button and power on the device&lt;br /&gt;
# Insert the recovery media (USB or SD) when prompted&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Installing XBMC ==&lt;br /&gt;
&lt;br /&gt;
There are two basic approaches to running XBMC on a ChromeBox:&lt;br /&gt;
&lt;br /&gt;
* Dual boot ChromeOS with a full Linux distro (eg, Ubuntu) or dedicated platform (OpenELEC)&lt;br /&gt;
* Replace ChromeOS with a full Linux distro (Ubuntu) or dedicated platform (OpenELEC)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
The optimal XBMC experience on the ChromeBox will be replacing ChromeOS with OpenELEC, but individual needs and preferences will vary.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Dual Booting ====&lt;br /&gt;
&lt;br /&gt;
===== Ubuntu (or any other distro) =====&lt;br /&gt;
&lt;br /&gt;
Dual booting Ubuntu (or any other distro) is accomplished by using the ChrUbuntu shell script. It was/is developed by Jay Lee to automate the re-partitioning of the internal HDD and installation of various versions/flavors Ubuntu.  It can also be used to install any other distro as well (eg Debian, Mint, Fedora, etc).&lt;br /&gt;
&lt;br /&gt;
Generic instructions for using the ChrUbuntu script on any ChromeOS device are available at: http://goo.gl/Zekkcl&lt;br /&gt;
&lt;br /&gt;
After Ubuntu (eg) is installed, follow the standard wiki instructions for [[HOW-TO:Install_XBMC_for_Linux|installing XBMC under Linux]].&lt;br /&gt;
&lt;br /&gt;
===== OpenELEC =====&lt;br /&gt;
&lt;br /&gt;
Dual booting with OpenELEC is accomplished by using the ChrOpenELEC shell script, which is a modification of the ChrUbuntu script to setup and install OpenELEC instead of Ubuntu.  &lt;br /&gt;
&lt;br /&gt;
As with ChrUbuntu, before using ChrOpenELEC, your ChromeBox must be in [[ASUS_Chromebox#Put_in_Developer_Mode|Developer Mode]] and be [[ASUS_Chromebox#Factory_Reset|Factory Reset]].&lt;br /&gt;
&lt;br /&gt;
# Power on and boot to ChromeOS&lt;br /&gt;
# Hit CTRL-ALT-F2 to get to command prompt&lt;br /&gt;
# Login with user chronos (no password required)&lt;br /&gt;
# Download and run the ChrOpenELEC script with the command: &lt;br /&gt;
#: &amp;lt;nowiki&amp;gt;sudo curl -L -O http://goo.gl/WIytxU; sudo bash WIytxU &amp;lt;/nowiki&amp;gt;&lt;br /&gt;
#: (with an uppercase &#039;i&#039; not a lowercase &#039;l&#039; in WIytxU)&lt;br /&gt;
# Enter the size of the partition to be used as a whole number, from 1 to the max recommended size (9GB for a stock 16GB SSD)&lt;br /&gt;
#: NOTE: the numeric keypad is off by default, using it will enter garbage characters that will screw up the installation script and result in a failed install.&lt;br /&gt;
# Press Enter to reboot when prompted.  ChromeOS will &amp;quot;repair&amp;quot; itself and reboot.&lt;br /&gt;
# Hit CTRL-ALT-F2 to get to command prompt&lt;br /&gt;
# Login with user chronos (no password required)&lt;br /&gt;
# Download and run the ChrOpenELEC script with the command:&lt;br /&gt;
#: &amp;lt;nowiki&amp;gt;sudo curl -L -O http://goo.gl/WIytxU; sudo bash WIytxU&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
# Press Enter to install when prompted.  The script will download and install OpenELEC, as well as update the bootloader and legacy BIOS (SeaBIOS) if needed.&lt;br /&gt;
# Press Enter to reboot when installation complete&lt;br /&gt;
# At the developer boot screen, press CTRL-L to boot the legacy BIOS and into OpenELEC&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Replacing ChromeOS ====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
Before continuing, ensure the steps listed [[ASUS_Chromebox#Device_Preparation|above in Device Preparation]] have been completed.  It is highly recommended that you [[ASUS_Chromebox#Create_a_Backup_Copy_of_ChromeOS_.28on_USB.2FSD.29 | create a backup/USB copy of ChromeOS ]].  This is useful in case (eg) you want to change the boot flags later, which can only be done from within ChromeOS.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== OpenELEC  =====&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
In order to install OpenELEC, you&#039;ll need to download a custom build tailored to the ChromeBox.  This build differs from the regular OpenELEC Generic x86_64 build in that it uses a slightly older version of the syslinux bootloader (5.10, vs 6.02), as the version included with OpenELEC does not work properly on the ChromeBox at this time.  This custom build also includes a fix for some MCE IR remotes, which fail to work when connected to USB 3.0 ports (fix has been submitted as a patch and hopefully will be included in future Linux and OpenELEC releases).&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Installation steps:&lt;br /&gt;
&lt;br /&gt;
# Download the custom build of OpenELEC from http://gdurl.com/qnDc/download&amp;lt;br /&amp;gt;&lt;br /&gt;
#: Once downloaded, unzip/extract the files.  &lt;br /&gt;
# Insert a USB stick and run the create_installstick installer.&amp;lt;br /&amp;gt;&lt;br /&gt;
#: See the [http://wiki.openelec.tv/index.php/HOW-TO:Installing_OpenELEC/Creating_The_Install_Key OpenELEC wiki instructions] for more details on creating the USB installation media.&lt;br /&gt;
# Power off your ChomeBox.  Insert the USB/SD installation media.&lt;br /&gt;
#: Power on and press CTRL-L to boot to legacy BIOS&lt;br /&gt;
#: Press ESC to bring up the boot menu and select the number corresponding to your USB installation media&lt;br /&gt;
#: The OpenELEC installer will load&lt;br /&gt;
#: &lt;br /&gt;
# Choose the &#039;Quick Install&#039; menu option&lt;br /&gt;
#: Select the target disk for install (the internal HDD should be the only option presented)&lt;br /&gt;
#: Hit Yes/Ok to the prompts confirming that the target disk will be erased/overwritten&lt;br /&gt;
#:&lt;br /&gt;
# When the installer has finished, remove the installation media and select Reboot.&lt;br /&gt;
#:&lt;br /&gt;
# (Optional) [[ASUS_Chromebox#Set_Firmware_Boot_Flags|Set the firmware boot flags]] to shorten the boot time and set the default boot.&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
If you have set the firmware boot flags as above, OpenELEC should boot right up in about 15 seconds.&lt;br /&gt;
Otherwise, you will need to hit CTRL-L to boot the legacy BIOS&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
That&#039;s it!  If you don&#039;t need the MCE remote fix, you can [http://wiki.openelec.tv/index.php/Updating_OpenELEC update to the latest official OpenELEC build]. Afterwards, updates should be automatic.&lt;br /&gt;
&lt;br /&gt;
== Post-Installation ==&lt;br /&gt;
&lt;br /&gt;
=== Set Firmware Boot Flags ===&lt;br /&gt;
&lt;br /&gt;
With the firmware write-protect disabled, we can shorten the default developer-mode boot wait time (from 30s to ~1s) and set the ChromeBox to default to booting the legacy BIOS (and into Ubuntu or OpenELEC) instead of requiring CTRL-D or CTRL-L to be pressed each time.&lt;br /&gt;
&lt;br /&gt;
* Power on and boot to ChromeOS&lt;br /&gt;
* Hit CTRL-ALT-F2 to get to command prompt&lt;br /&gt;
* Login with user chronos (no password required)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To shorten the boot wait time only, run the command:&lt;br /&gt;
: sudo set_gbb_flags.sh 0x1&lt;br /&gt;
: (This is the same as immediately pressing CTRL-D)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To shorten the boot wait time and set the default boot to the legacy BIOS:&lt;br /&gt;
: sudo set_gbb_flags.sh 0x489&lt;br /&gt;
: (This is the same as immediately pressing CTRL-L)&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
To reset these options to default, use:&lt;br /&gt;
: sudo set_gbb_flags.sh 0x0&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
* Some MCE remote IR receivers do not currently work with USB 3.0 ports under Linux due to a bug in the mceusb kernel driver.  A custom build of OpenELEC with a fixed mceusb driver is available in section 2.2.1 above.  For Ubuntu installs, a custom kernel will need to be compiled with the fixed driver.&lt;br /&gt;
&lt;br /&gt;
==Random notes==&lt;br /&gt;
{{large|&#039;&#039;Feel free to place various notes, tips, and links here. As this section of the wiki gets more organized, those notes will be properly sorted. Consider this like a dumping ground for when you&#039;re not sure where to put something.&#039;&#039;}}&lt;br /&gt;
* &lt;br /&gt;
&lt;br /&gt;
== Links ==&lt;br /&gt;
* http://www.deconetworks.com/chromebox-full-linux-desktop/&lt;br /&gt;
* http://www.willispickering.com/content/upgrade-asus-chromebox-add-more-memory-and-ssd-and-ubuntu&lt;br /&gt;
* http://johnlewis.ie/asus-chromebox-owners-rejoice/&lt;br /&gt;
* http://forum.xbmc.org/showthread.php?tid=185329&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Hardware]]&lt;br /&gt;
[[Category:HTPC]]&lt;br /&gt;
[[Category:x86]]&lt;/div&gt;</summary>
		<author><name>Iainmacleod</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Naming_video_files/Movies&amp;diff=69619</id>
		<title>Naming video files/Movies</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Naming_video_files/Movies&amp;diff=69619"/>
		<updated>2014-02-28T14:46:47Z</updated>

		<summary type="html">&lt;p&gt;Iainmacleod: /* Naming conventions */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:Adding videos to the library/Contents}}&lt;br /&gt;
{{mininav|[[General topics]]|[[Videos]]|[[Video library/Management|Management]]|[[Video library/Naming files|Naming files]]}}&lt;br /&gt;
{{#lst:Adding videos to the library/Naming files|naming files}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Naming conventions==&lt;br /&gt;
In order to be scanned correctly, &#039;&#039;&#039;movie&#039;&#039;&#039; file names should only have the title and the &#039;&#039;&#039;year (optional)&#039;&#039;&#039; followed by the file extension.&lt;br /&gt;
&#039;&#039;&#039;[[Media flags#Media source|Media source flags]]&#039;&#039;&#039; can also be added via file names to indicate source/quality of the movie (see link for more info).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To improve&#039;&#039;&#039; matching add the &#039;&#039;&#039;year&#039;&#039;&#039; within parenthesis to the end of the file or foldername, depending on your scanning method and folder structure (before the extension, if filename), this naming standard seems to yield the best results.&lt;br /&gt;
&lt;br /&gt;
{{note|If the wrong movie is picked up even if foldername or filename is correct, the movie can have an earlier original title. This often happens to movies made in 1950&#039;s and after.}}&lt;br /&gt;
&lt;br /&gt;
{{warning|It has been found that a flat file structure for movies is not conducive to playback initialization performance, a sub-folder stricture is recommended.}}&lt;br /&gt;
&lt;br /&gt;
[http://forum.xbmc.org/showthread.php?tid=187693 See here for additional information.]&lt;br /&gt;
&lt;br /&gt;
 \Movies\Pulp Fiction (1994).avi&lt;br /&gt;
 \Movies\Reservoir Dogs (1992).avi&lt;br /&gt;
 \Movies\The Usual Suspects (1995).avi&lt;br /&gt;
&lt;br /&gt;
 \Movies\Avatar (2009)-cd1.mkv&lt;br /&gt;
 \Movies\Avatar (2009)-cd2.mkv&lt;br /&gt;
&lt;br /&gt;
 \Movies\Avatar (2009)\somefilename.mkv&lt;br /&gt;
 \Movies\The Usual Suspects (1995)\somefilename.avi&lt;br /&gt;
&lt;br /&gt;
 \Movies\The Usual Suspects (1995)\somefilename-cd1.avi&lt;br /&gt;
 \Movies\The Usual Suspects (1995)\somefilename-cd2.avi&lt;br /&gt;
 \Movies\Avatar (2009)\Avatar (2009)-cd1.mkv&lt;br /&gt;
 \Movies\Avatar (2009)\Avatar (2009)-cd2.mkv&lt;br /&gt;
&lt;br /&gt;
And for DVD-Video movies stored in file-mode on the harddrive or [[SMB]] [[NFS]]:&lt;br /&gt;
 \Movies\Alien (1979)\VIDEO_TS.IFO&lt;br /&gt;
 \Movies\Léon (1994)\VIDEO_TS.IFO&lt;br /&gt;
 \Movies\Scarface (1983)\VIDEO_TS.IFO&lt;br /&gt;
 Alternatively:&lt;br /&gt;
  \Movies\Alien (1979)\VIDEO_TS\VIDEO_TS.IFO&lt;br /&gt;
  \Movies\Léon (1994)\VIDEO_TS\VIDEO_TS.IFO&lt;br /&gt;
  \Movies\Scarface (1983)\VIDEO_TS\VIDEO_TS.IFO&lt;br /&gt;
{{note|If using VIDEO_TS folder structure you must enable &amp;quot;recursive&amp;quot; lookup when adding the source directory.}}&lt;br /&gt;
&lt;br /&gt;
== File stacking ==&lt;br /&gt;
{{main|File stacking}}&lt;br /&gt;
{{#lst:File stacking|intro}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;br /&gt;
{{frodo updated}}&lt;/div&gt;</summary>
		<author><name>Iainmacleod</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Naming_video_files/Movies&amp;diff=69618</id>
		<title>Naming video files/Movies</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Naming_video_files/Movies&amp;diff=69618"/>
		<updated>2014-02-28T14:43:49Z</updated>

		<summary type="html">&lt;p&gt;Iainmacleod: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{:Adding videos to the library/Contents}}&lt;br /&gt;
{{mininav|[[General topics]]|[[Videos]]|[[Video library/Management|Management]]|[[Video library/Naming files|Naming files]]}}&lt;br /&gt;
{{#lst:Adding videos to the library/Naming files|naming files}}&lt;br /&gt;
__TOC__&lt;br /&gt;
==Naming conventions==&lt;br /&gt;
In order to be scanned correctly, &#039;&#039;&#039;movie&#039;&#039;&#039; file names should only have the title and the &#039;&#039;&#039;year (optional)&#039;&#039;&#039; followed by the file extension.&lt;br /&gt;
&#039;&#039;&#039;[[Media flags#Media source|Media source flags]]&#039;&#039;&#039; can also be added via file names to indicate source/quality of the movie (see link for more info).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;To improve&#039;&#039;&#039; matching add the &#039;&#039;&#039;year&#039;&#039;&#039; within parenthesis to the end of the file or foldername, depending on your scanning method and folder structure (before the extension, if filename), this naming standard seems to yield the best results.&lt;br /&gt;
&lt;br /&gt;
{{note|If the wrong movie is picked up even if foldername or filename is correct, the movie can have an earlier original title. This often happens to movies made in 1950&#039;s and after.}}&lt;br /&gt;
&lt;br /&gt;
{{warning|It has been found that a flat file structure for movies is not conducive to playback initialization performance, a sub-folder stricture is recommended.}}&lt;br /&gt;
&lt;br /&gt;
[http://forum.xbmc.org/showthread.php?tid=187693&amp;amp;pid=1639856#pid1639856 See here for additional information.]&lt;br /&gt;
&lt;br /&gt;
 \Movies\Pulp Fiction (1994).avi&lt;br /&gt;
 \Movies\Reservoir Dogs (1992).avi&lt;br /&gt;
 \Movies\The Usual Suspects (1995).avi&lt;br /&gt;
&lt;br /&gt;
 \Movies\Avatar (2009)-cd1.mkv&lt;br /&gt;
 \Movies\Avatar (2009)-cd2.mkv&lt;br /&gt;
&lt;br /&gt;
 \Movies\Avatar (2009)\somefilename.mkv&lt;br /&gt;
 \Movies\The Usual Suspects (1995)\somefilename.avi&lt;br /&gt;
&lt;br /&gt;
 \Movies\The Usual Suspects (1995)\somefilename-cd1.avi&lt;br /&gt;
 \Movies\The Usual Suspects (1995)\somefilename-cd2.avi&lt;br /&gt;
 \Movies\Avatar (2009)\Avatar (2009)-cd1.mkv&lt;br /&gt;
 \Movies\Avatar (2009)\Avatar (2009)-cd2.mkv&lt;br /&gt;
&lt;br /&gt;
And for DVD-Video movies stored in file-mode on the harddrive or [[SMB]] [[NFS]]:&lt;br /&gt;
 \Movies\Alien (1979)\VIDEO_TS.IFO&lt;br /&gt;
 \Movies\Léon (1994)\VIDEO_TS.IFO&lt;br /&gt;
 \Movies\Scarface (1983)\VIDEO_TS.IFO&lt;br /&gt;
 Alternatively:&lt;br /&gt;
  \Movies\Alien (1979)\VIDEO_TS\VIDEO_TS.IFO&lt;br /&gt;
  \Movies\Léon (1994)\VIDEO_TS\VIDEO_TS.IFO&lt;br /&gt;
  \Movies\Scarface (1983)\VIDEO_TS\VIDEO_TS.IFO&lt;br /&gt;
{{note|If using VIDEO_TS folder structure you must enable &amp;quot;recursive&amp;quot; lookup when adding the source directory.}}&lt;br /&gt;
&lt;br /&gt;
== File stacking ==&lt;br /&gt;
{{main|File stacking}}&lt;br /&gt;
{{#lst:File stacking|intro}}&lt;br /&gt;
{{-}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Video Library]]&lt;br /&gt;
[[Category:XBMC Manual]]&lt;br /&gt;
{{frodo updated}}&lt;/div&gt;</summary>
		<author><name>Iainmacleod</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=Talk:MySQL&amp;diff=68949</id>
		<title>Talk:MySQL</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=Talk:MySQL&amp;diff=68949"/>
		<updated>2014-02-08T23:30:22Z</updated>

		<summary type="html">&lt;p&gt;Iainmacleod: /* MySQL connection errors at start-up */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NAS how-to link dump ==&lt;br /&gt;
&lt;br /&gt;
Dumping some urls that might be usable or be a base for how-to&#039;s on mysql on NAS&#039;s. -- [[User:Ned Scott|Ned Scott]] 04:37, 15 November 2011 (EST)&lt;br /&gt;
&lt;br /&gt;
*http://humphrey.za.net/2010/09/25/xbmc-mysql-multi-room-sync/&lt;br /&gt;
&lt;br /&gt;
== Other useful links ==&lt;br /&gt;
&lt;br /&gt;
Some more links to look into. -- [[User:Ned Scott|Ned Scott]] 20:55, 15 November 2011 (EST)&lt;br /&gt;
&lt;br /&gt;
*http://lifehacker.com/5634515/how-to-synchronize-your-xbmc-media-center-across-every-room-in-the-house&lt;br /&gt;
*http://xbmcstuff.bossanova808.net/2011/03/summary-of-xbmc-mysql-database.html&lt;br /&gt;
&lt;br /&gt;
== A couple of comments ==&lt;br /&gt;
&lt;br /&gt;
Ubuntu users can install MySQL from official Ubuntu repos using apt-get: https://help.ubuntu.com/10.04/serverguide/C/mysql.html&lt;br /&gt;
&lt;br /&gt;
Also, the top of the article has a note mentioning that the latest pre-Eden nightly is required. What specific steps in the article does this apply to, and are there alternative steps applicable to the latest stable release (Dharma 10.1 at the time of this writing)?&lt;br /&gt;
&lt;br /&gt;
Lastly, the scottbrant.net/?p=495 link in the article is not working for me.&lt;br /&gt;
&lt;br /&gt;
Update: I also got access denied errors in the MySQL log while trying to import my XBMC database into it. I think there&#039;s a missing step in the article for setting the MySQL &#039;xbmc&#039; user password. The MythTV wiki has some troubleshooting info on setting passwords that helped: http://www.mythtv.org/wiki/Category:MySQL&lt;br /&gt;
&lt;br /&gt;
--[[User:HunterZ|HunterZ]] 14:42, 11 December 2011 (EST)&lt;br /&gt;
&lt;br /&gt;
:Added your links. Eventually we&#039;ll have a more general MySQL page for troubleshooting and more advanced setups, but I still put in the mythtv link in the &amp;quot;see also&amp;quot; section for the time being. &amp;quot;&amp;lt;code&amp;gt;CREATE USER &#039;xbmc&#039; IDENTIFIED BY &#039;xbmc&#039;;&amp;lt;/code&amp;gt;&amp;quot; should create the password. The password is what IDENTIFIED BY sets.&lt;br /&gt;
&lt;br /&gt;
:Pathsub for thumbs requires pre-Eden, but most of the MySQL setup will still work for Dharma, but you might need to manually create the &amp;quot;xbmc_video&amp;quot; and &amp;quot;xbmc_music&amp;quot; databases (Eden will create databases if missing).&lt;br /&gt;
&lt;br /&gt;
:The scottbrant.net link has now been replaced with a link to http://xbmcstuff.bossanova808.net/2011/03/summary-of-xbmc-mysql-database.html?m=1 which has more settings and further discussion on speeding up mysql.&lt;br /&gt;
&lt;br /&gt;
:Thanks for the links and let us know if you have any other feedback/ideas/whatever! -- [[User:Ned Scott|Ned Scott]] 22:52, 11 December 2011 (EST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Someone should make a note that the Pre-Eden builds do NOT like it if you create the xbmc_video and xbmc_music databases in advance. &lt;br /&gt;
&lt;br /&gt;
:Add them to your advancedsettings.xml but DO NOT CREATE them when installing and configuring MySql or your initial set up will fail. If you have already created them, or you are upgrading from an earlier version of XBMC that did not have this problem, just use a DIFFERENT database name in your advancedsettings.xml, or DROP the two fresh databases if you are installing from scratch. &lt;br /&gt;
&lt;br /&gt;
:If upgrading from an earlier version, export your library before upgrading, then import it once everything is set up again on the new version. I just spent about 10 hours tracking down this elusive piece of information, so hopefully this helps someone else. I know for sure that this affects all nightlies from 12/9/2011 and on, could very easily be an issue going back for months as far as I know. This may change, so try the &amp;quot;old&amp;quot; way first and if it fails (check your log) then simply drop those two databases (unless upgrading and you don&#039;t have a backup already!) &lt;br /&gt;
&lt;br /&gt;
:As I just registered here for the purpose of sharing this info, I put it here rather than in the actual guide as I am not entirely familiar with the rules yet and don&#039;t want to step on any toes right off the bat! [[User:J114|J114]] 02:32, 15 December 2011 (EST)&lt;br /&gt;
&lt;br /&gt;
::will put a warning note in there, but hopefully that&#039;s a bug that will be fixed by Eden&#039;s release. -- [[User:Ned Scott|Ned Scott]] 02:37, 15 December 2011 (EST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
On my win 7 PC, sharing thumbnails caused hangs/freezes, removing the path substitution from advancedsettings.xml fixed the problem.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
I&#039;ve shared my whole profile directories between my HTPC and my iPad. Of course, I do not want the same guisettings... I tried the following (in advancedsettings.xml on my iPad) and it works to share anything regarding profile (mySQL config, Thumbnails, etc) *except* guisettings.xml (with a dedicated shared guisetting_iPad.xml file instead)&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
       &amp;lt;!-- profiles for iPad: everything except guisettings  --&amp;gt;&lt;br /&gt;
       &amp;lt;substitute&amp;gt;&lt;br /&gt;
          &amp;lt;from&amp;gt;special://masterprofile/profiles/Olivier/guisettings.xml&amp;lt;/from&amp;gt;&lt;br /&gt;
          &amp;lt;to&amp;gt;nfs://SHARE/userdata/profiles/Olivier/guisettings_iPad.xml&amp;lt;/to&amp;gt;&lt;br /&gt;
        &amp;lt;/substitute&amp;gt;    &lt;br /&gt;
       &amp;lt;substitute&amp;gt;&lt;br /&gt;
          &amp;lt;from&amp;gt;special://masterprofile/profiles/Olivier&amp;lt;/from&amp;gt;&lt;br /&gt;
          &amp;lt;to&amp;gt;nfs://SHARE/userdata/profiles/Olivier&amp;lt;/to&amp;gt;&lt;br /&gt;
        &amp;lt;/substitute&amp;gt;    &lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
[[User:Frofpa|Frofpa]] 04:08, 9 April 2012 (EDT)&lt;br /&gt;
&lt;br /&gt;
::That is a very bad idea, as it will share things that should not be shared, such as the database files. -- [[User:Ned Scott|Ned Scott]] 04:50, 9 April 2012 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Restricted privileges ==&lt;br /&gt;
&lt;br /&gt;
If you are using your database for something other than XBMC, it may be better to restrict privileges, in case a bad add-on manages to do a DROP with the xbmc user.&lt;br /&gt;
&lt;br /&gt;
Using this instead of the &amp;quot;*.*&amp;quot; line makes XBMC only access/create its own databases:&lt;br /&gt;
GRANT ALL PRIVILEGES ON `xbmc_%`.* TO &#039;xbmc&#039;@&#039;192.168.1.%&#039;;&lt;br /&gt;
&lt;br /&gt;
(Source: http://forum.xbmc.org/showthread.php?tid=114017 ) [[User:Michelv|Michelv]] 14:20, 23 June 2012 (EDT) Michelv&lt;br /&gt;
&lt;br /&gt;
== Path substitution causes duplicate entries ==&lt;br /&gt;
&lt;br /&gt;
The path substitution step listed in the article is problematic. I&#039;m trying to use it now to access my video files via an OS mount instead of the smb:// paths that are currently stored in the database, and it&#039;s resulting in duplicate entries on the next library update: http://forum.xbmc.org/showthread.php?tid=140536&lt;br /&gt;
--[[User:HunterZ|HunterZ]] 21:44, 14 September 2012 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Path subs alone cannot create duplicates, as it only takes a source and points it to a different location. There would still only be one source. You only get duplicates if you have more than one source that is pointing to the same files. -- [[User:Ned Scott|Ned Scott]] 02:58, 15 September 2012 (EDT)&lt;br /&gt;
&lt;br /&gt;
:What may have happened here is that you scanned your sources and the video files were enter into your db through the smb path. Then you added the path substitution and scanned your sources again. The substitution causes the same video files to have different paths and they get enter into your db through this new path as well. And since the old smb path is still valid, the old entries are not removed. I&#039;ve had this happen when I switched from using NetBIOS name to ip address in &amp;quot;smb://&amp;quot; sources. I found the easiest way to get rid of the old (&amp;quot;smb://netbios-name/...&amp;quot;) files was to change the name of the machine to something else, so these paths are no longer valid, clean up the db and then change the name of machine back. [[User:SkyLined|SkyLined]] 08:44, 24 May 2013 (EDT)&lt;br /&gt;
&lt;br /&gt;
== MariaDB ==&lt;br /&gt;
&lt;br /&gt;
MariaDB works as a drop in replacement to MySQL and it&#039;s a bit faster. Should it be added to this page or be placed on its own separate page? (The instructions require a PPA be used in Ubuntu so they are a bit more complicated. Also, upgrading from MySQL has to be covered as well. [[User:Ivanmmj|Ivanmmj]] 12:46, 24 January 2013 (EST)&lt;br /&gt;
&lt;br /&gt;
== MySQL connection errors at start-up ==&lt;br /&gt;
&lt;br /&gt;
Please note: I resolved this issue by using an Openelec addon setting.  Under Openelec, make sure you enable Wait for network before starting XBMC - it is specifically designed for this, and a general recommendation for Openelec when using WiFi&lt;br /&gt;
[[User:Iainmacleod|Iainmacleod]] ([[User talk:Iainmacleod|talk]]) 18:30, 8 February 2014 (EST)&lt;br /&gt;
&lt;br /&gt;
Note:  This issue is related to XBMC running on Raspberry PI using OpenElec&lt;br /&gt;
&lt;br /&gt;
I just spent several hours debugging strange behavior in XBMC after migrating to MySQL.  The strange behavior revolved around certain featured disappearing after reboot, such as the Movie tab on the home screen and under Videos.  Also if you right clicked a movie you no longer had all the selection like &amp;quot;Movie Information&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
So after reviewing the logs under &amp;lt;HOME&amp;gt;/.xbmc/temp I noticed errors connecting to the DB and the art share.  It appears there is a problem in the timing between the network interface and when XBMC looks for the shares or tries to connect to the DB.&lt;br /&gt;
&lt;br /&gt;
So I decided to mess around with autostart.sh which executes before XBMC starts and pre-mount the two servers needed for these connections.  That too was frustrating.  Turns out when the autostart script executes the mount command the network interface has not yet been started.  So to solve the problem I had to add a ifconfig up eth0 &amp;lt;ipaddress&amp;gt;.  This solved the problem and XBMC now starts without issues.&lt;br /&gt;
&lt;br /&gt;
So after thinking about Ned&#039;s point below I decided that the only think I need to do during autostart.sh execution is to start the network interface&lt;br /&gt;
&lt;br /&gt;
: #!/bin/sh&lt;br /&gt;
: #set -x&lt;br /&gt;
:echo &amp;quot;===== Start $0 =====&amp;quot;&lt;br /&gt;
:ifconfig&lt;br /&gt;
:ifconfig eth0 up &amp;lt;your IP address&amp;gt;&lt;br /&gt;
:ifconfig&lt;br /&gt;
:route&lt;br /&gt;
:echo &amp;quot;===== End $0 =====&amp;quot;&lt;br /&gt;
:sleep 5&lt;br /&gt;
:exit&lt;br /&gt;
&lt;br /&gt;
[[User:Jpgeek|Jpgeek]] 13:57, 30 April 2013 (EDT)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
:Thanks for the heads up, but I think most users would not be mounting their shares on the OS level, but instead having XBMC take care of connecting to the shares? -- [[User:Ned Scott|Ned Scott]] 14:02, 30 April 2013 (EDT)&lt;br /&gt;
&lt;br /&gt;
:Good point, and I guess I don&#039;t need to mount anything just make sure the network interface is up.  This is probably not an issue on a standard XBMC installation, it appears to be a startup synchronization problem on OpenElec and an appliance like Raspberry PI.  [[User:Jpgeek|Jpgeek]] 16:14, 30 April 2013 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Alternative to export/import ==&lt;br /&gt;
&lt;br /&gt;
I have an alternative to exporting/importing that I find to be easier to use and explain. I developed it after I ran into a few issues with a Windows server hosting my media which I resolved by using its IP address, rather than its NetBIOS name and providing a valid user in &amp;quot;passwords.xml&amp;quot;, even though I was sharing my media without username/password. I am not entirely sure what the root cause of my issues was. I was getting errors on my Android and Raspberry PI devices but not on my Windows laptop, so I assumed it had to do with the smb implementation on *nix machines wasn&#039;t working as expected. The sync seemed to work fine on all my devices as I could see all the media files in my library, but when I wanted to play something on the *nix based devices, I got an error saying that &amp;quot;the file is no longer available&amp;quot; and would I want to remove it from the library? I never bothered to check my log files, so I can&#039;t tell you more about it.&lt;br /&gt;
&lt;br /&gt;
Anyway, rather than export and import the media database in xbmc, you will need to create/copy two additional files (sources.xml and passwords.xml, in addition to advancedsettings.xml) in/to the userdata folder of any device you want to sync. If others agree that this is easier than exporting and importing the database we should update the HOW-TO.&lt;br /&gt;
&lt;br /&gt;
===advancedsettings.xml===&lt;br /&gt;
Create advancedsettings.xml as described in the HOW-TO&lt;br /&gt;
===sources.xml===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;sources&amp;gt;&lt;br /&gt;
    &amp;lt;programs&amp;gt;&lt;br /&gt;
        &amp;lt;default pathversion=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;/programs&amp;gt;&lt;br /&gt;
    &amp;lt;video&amp;gt;&lt;br /&gt;
        &amp;lt;default pathversion=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/default&amp;gt;&lt;br /&gt;
        &amp;lt;source&amp;gt;&lt;br /&gt;
            &amp;lt;name&amp;gt;Movies&amp;lt;/name&amp;gt;&lt;br /&gt;
            &amp;lt;path pathversion=&amp;quot;1&amp;quot;&amp;gt;smb://192.168.0.1/Shares/Movies&amp;lt;/path&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
        &amp;lt;source&amp;gt;&lt;br /&gt;
            &amp;lt;name&amp;gt;TV Shows&amp;lt;/name&amp;gt;&lt;br /&gt;
            &amp;lt;path pathversion=&amp;quot;1&amp;quot;&amp;gt;smb://192.168.0.1/Shares/TV Shows&amp;lt;/path&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &amp;lt;/video&amp;gt;&lt;br /&gt;
    &amp;lt;music&amp;gt;&lt;br /&gt;
        &amp;lt;default pathversion=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/default&amp;gt;&lt;br /&gt;
        &amp;lt;source&amp;gt;&lt;br /&gt;
            &amp;lt;name&amp;gt;Music&amp;lt;/name&amp;gt;&lt;br /&gt;
            &amp;lt;path pathversion=&amp;quot;1&amp;quot;&amp;gt;smb://192.168.0.1/Shares/Music&amp;lt;/path&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &amp;lt;/music&amp;gt;&lt;br /&gt;
    &amp;lt;pictures&amp;gt;&lt;br /&gt;
        &amp;lt;default pathversion=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/default&amp;gt;&lt;br /&gt;
        &amp;lt;source&amp;gt;&lt;br /&gt;
            &amp;lt;name&amp;gt;Pictures&amp;lt;/name&amp;gt;&lt;br /&gt;
            &amp;lt;path pathversion=&amp;quot;1&amp;quot;&amp;gt;smb://192.168.0.1/Shares/Pictures&amp;lt;/path&amp;gt;&lt;br /&gt;
        &amp;lt;/source&amp;gt;&lt;br /&gt;
    &amp;lt;/pictures&amp;gt;&lt;br /&gt;
    &amp;lt;files&amp;gt;&lt;br /&gt;
        &amp;lt;default pathversion=&amp;quot;1&amp;quot;&amp;gt;&amp;lt;/default&amp;gt;&lt;br /&gt;
    &amp;lt;/files&amp;gt;&lt;br /&gt;
&amp;lt;/sources&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;Obviously, you&#039;ll need to replace &amp;quot;smb://192.168.0.1/Shares/...&amp;quot; with the relevant path in your setup.&#039;&#039;&lt;br /&gt;
{{Note|Use a static IP address for your media server and not &amp;quot;smb://MediaServer/...&amp;quot;, as NetBIOS names may give problems on some devices.}}&lt;br /&gt;
{{Note|Remote paths should not include a username/password, even if you use one, as these are specified in passwords.xml}}&amp;lt;/p&amp;gt;&lt;br /&gt;
===passwords.xml===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&amp;lt;passwords&amp;gt;&lt;br /&gt;
    &amp;lt;path&amp;gt;&lt;br /&gt;
        &amp;lt;from pathversion=&amp;quot;1&amp;quot;&amp;gt;smb://192.168.0.1/&amp;lt;/from&amp;gt;&lt;br /&gt;
        &amp;lt;to pathversion=&amp;quot;1&amp;quot;&amp;gt;smb://username:password@192.168.0.1/&amp;lt;/to&amp;gt;&lt;br /&gt;
    &amp;lt;/path&amp;gt;&lt;br /&gt;
&amp;lt;/passwords&amp;gt;&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&#039;&#039;Again, you&#039;ll need to replace &amp;quot;smb://192.168.0.1/&amp;quot; with the relevant path in your setup.&#039;&#039;&lt;br /&gt;
{{Note|When using an smb that is not protected with a username and password and you are getting errors when you want to playback files, you will need to supply a username:password that is valid on the server. If your user does not have a password, you can just provide the username as in &amp;quot;smb://username@192.168.0.1&amp;quot;.}}&lt;br /&gt;
&lt;br /&gt;
All three files go in the same location in the userdata folder. Restart XBMC and you&#039;re done! [[User:SkyLined|SkyLined]] 09:30, 24 May 2013 (EDT)&lt;br /&gt;
&lt;br /&gt;
== Windows Firewall Rules ==&lt;br /&gt;
&lt;br /&gt;
I&#039;ve updated the Windows section about the Windows Firewall. There is no need to use UDP since MySQL only talks on TCP. Also there&#039;s no need to set up an outbound rule since you only need it for incoming traffic to get the data so why bother covering it with rules that&#039;s not needed and possibly open yourself to nasty stuff? [[User:Scsa20|Scsa20]] ([[User talk:Scsa20|talk]]) 05:16, 5 January 2014 (EST)&lt;/div&gt;</summary>
		<author><name>Iainmacleod</name></author>
	</entry>
	<entry>
		<id>https://kodi.wiki/index.php?title=HOW-TO:Remotely_update_library&amp;diff=64751</id>
		<title>HOW-TO:Remotely update library</title>
		<link rel="alternate" type="text/html" href="https://kodi.wiki/index.php?title=HOW-TO:Remotely_update_library&amp;diff=64751"/>
		<updated>2013-10-09T12:58:53Z</updated>

		<summary type="html">&lt;p&gt;Iainmacleod: Editing the page to update with library cleaning commands&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Some quick methods to updating the XBMC library outside of the XBMC interface. There are also several [[supplemental tools]] and [[smartphone remotes]] that can remotely update the library as well.&lt;br /&gt;
&lt;br /&gt;
==HTTP==&lt;br /&gt;
To add new content to the library (Update):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc?request={&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;VideoLibrary.Scan&amp;quot;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc?request={&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;AudioLibrary.Scan&amp;quot;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To remove content from library (Clean):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc?request={&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;VideoLibrary.Clean&amp;quot;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;nowiki&amp;gt;http://&amp;lt;User&amp;gt;:&amp;lt;Password&amp;gt;@&amp;lt;hostname&amp;gt;:&amp;lt;port&amp;gt;/jsonrpc?request={&amp;quot;jsonrpc&amp;quot;:&amp;quot;2.0&amp;quot;,&amp;quot;method&amp;quot;:&amp;quot;AudioLibrary.Clean&amp;quot;}&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Command line==&lt;br /&gt;
To add new content to the library (Update):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;curl --data-binary &#039;{ &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;VideoLibrary.Scan&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;mybash&amp;quot;}&#039; -H &#039;content-type: application/json;&#039;  http://localhost:9191/jsonrpc&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;curl --data-binary &#039;{ &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;AudioLibrary.Scan&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;mybash&amp;quot;}&#039; -H &#039;content-type: application/json;&#039;  http://localhost:9191/jsonrpc&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To remove content from library (Clean):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;curl --data-binary &#039;{ &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;VideoLibrary.Clean&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;mybash&amp;quot;}&#039; -H &#039;content-type: application/json;&#039;  http://localhost:9191/jsonrpc&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;curl --data-binary &#039;{ &amp;quot;jsonrpc&amp;quot;: &amp;quot;2.0&amp;quot;, &amp;quot;method&amp;quot;: &amp;quot;AudioLibrary.Clean&amp;quot;, &amp;quot;id&amp;quot;: &amp;quot;mybash&amp;quot;}&#039; -H &#039;content-type: application/json;&#039;  http://localhost:9191/jsonrpc&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Windows Command Line==&lt;br /&gt;
You will need the Win32 2000/XP binary version of cURL by Günter Knauf.  Download it here: http://curl.haxx.se/&lt;br /&gt;
Create a cURL folder in the Program Files directory and place the contents of the zip file in the root of that folder.  (You can put it elsewhere if you like just make sure you modify the code to reflect the location of the exe file) &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To add new content to the library (Update):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;C:\Program Files (x86)\cURL\curl.exe&amp;quot; -i -X POST -d &amp;quot;{\&amp;quot;jsonrpc\&amp;quot;: \&amp;quot;2.0\&amp;quot;, \&amp;quot;method\&amp;quot;: \&amp;quot;VideoLibrary.Scan\&amp;quot;, \&amp;quot;id\&amp;quot;: \&amp;quot;mybash\&amp;quot;}&amp;quot; -H &amp;quot;content-type:application/json&amp;quot; http://user:pass@localhost:port/jsonrpc &amp;gt; NUL 2&amp;gt;&amp;amp;1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;C:\Program Files (x86)\cURL\curl.exe&amp;quot; -i -X POST -d &amp;quot;{\&amp;quot;jsonrpc\&amp;quot;: \&amp;quot;2.0\&amp;quot;, \&amp;quot;method\&amp;quot;: \&amp;quot;AudioLibrary.Scan\&amp;quot;, \&amp;quot;id\&amp;quot;: \&amp;quot;mybash\&amp;quot;}&amp;quot; -H &amp;quot;content-type:application/json&amp;quot; http://user:pass@localhost:port/jsonrpc &amp;gt; NUL 2&amp;gt;&amp;amp;1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To remove content from library (Clean):&lt;br /&gt;
* &#039;&#039;&#039;Video:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;C:\Program Files (x86)\cURL\curl.exe&amp;quot; -i -X POST -d &amp;quot;{\&amp;quot;jsonrpc\&amp;quot;: \&amp;quot;2.0\&amp;quot;, \&amp;quot;method\&amp;quot;: \&amp;quot;VideoLibrary.Clean\&amp;quot;, \&amp;quot;id\&amp;quot;: \&amp;quot;mybash\&amp;quot;}&amp;quot; -H &amp;quot;content-type:application/json&amp;quot; http://user:pass@localhost:port/jsonrpc &amp;gt; NUL 2&amp;gt;&amp;amp;1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* &#039;&#039;&#039;Audio:&#039;&#039;&#039; &amp;lt;code&amp;gt;&amp;lt;nowiki&amp;gt;&amp;quot;C:\Program Files (x86)\cURL\curl.exe&amp;quot; -i -X POST -d &amp;quot;{\&amp;quot;jsonrpc\&amp;quot;: \&amp;quot;2.0\&amp;quot;, \&amp;quot;method\&amp;quot;: \&amp;quot;AudioLibrary.Clean\&amp;quot;, \&amp;quot;id\&amp;quot;: \&amp;quot;mybash\&amp;quot;}&amp;quot; -H &amp;quot;content-type:application/json&amp;quot; http://user:pass@localhost:port/jsonrpc &amp;gt; NUL 2&amp;gt;&amp;amp;1&amp;lt;/nowiki&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Replace &amp;quot;user:pass&amp;quot; with your username and password, localhost can remain unless doing it remotely in which case replace with IP address, replace &amp;quot;port&amp;quot; with the port number you have configured in your settings.  The &amp;quot; &amp;gt; NUL 2&amp;gt;&amp;amp;1&amp;quot; stops the command from displaying any output (for instance, when running a batch file).  You can leave that out if you want.&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
*[[JSON-RPC]]&lt;br /&gt;
&lt;br /&gt;
[[Category:How-to]]&lt;br /&gt;
[[Category:Advanced topics]]&lt;br /&gt;
{{frodo updated}}&lt;/div&gt;</summary>
		<author><name>Iainmacleod</name></author>
	</entry>
</feed>