I have to admit it’s taken a good amount of research and experimentation, but I finally have an XBMC media center solution on the Raspberry Pi that rivals what I used to have on my old power-sucking full-size PC.
I’m writing this guide to help others get up and running with a stable solution as quickly as possible. I’ll be covering everything from the hardware pieces to the software and configuration. I’m also hoping this guide will be accessible to those who aren’t overly tech-inclined, and I’ll provide some support in the comments.
- Closing Thoughts
What is a Raspberry Pi?
The Raspberry Pi is a credit card-sized computer that you can buy for $35. It’s amazing because it’s capable of running a full desktop operating system like Linux (albeit a bit slowly) on hardware that is very, very small and cheap. It’s pictured below:
The Pi has two USB ports, an 1/8″ audio port (headphone jack), an RCA video out (for standard definition TVs), an HDMI video out (for HDTVs), an SD card slot, and an ethernet port. All are fairly standard ports for a normal computer, but the video outputs are made for televisions instead of typical computer monitors (though computer monitors often have HDMI inputs these days as well). Pretty much everything on the Pi is perfect for an HTPC, so it’s no surprise that there’s a growing community using it as such.
What is XBMC?
XBMC is an open-source media center application that is meant to be used in the living room on your TV; it allows you to play back all of the movies, tv shows, music, and pretty much everything else you have on your home network easily with a remote control.
The interface rivals anything I’ve ever seen elsewhere; for playing back your own local media, nothing rivals the experience of XBMC. A screenshot of the XBMC home screen is below:
Why create a Raspberry Pi XBMC media center?
For a long time I’ve wanted a small, silent, and energy-efficient machine that was capable of running XBMC. Until the Raspberry Pi, this was possible but typically required a lot more money and wasn’t near as energy-efficient. The Pi allows for a very cheap solution with an extremely small footprint, and XBMC provides an incredibly powerful media center with support for nearly all codecs and file types.
The Raspberry Pi is a computer in itself, but it does require some extra hardware in order to function properly for what you use it for. Here’s a list of all of the hardware pieces I’ve used in my setup (that I’ve confirmed to work well):
|Raspberry Pi||Required||Raspberry Pi Model B||$35.00|
|USB Hub/Power Supply||Required||Belkin 4-Port USB Hub||$13.99|
|SD Card||Required||SanDisk Extreme Pro 8 GB SDHC Class 10 SD Card||$21.29|
|Raspberry Pi Case||Optional||Pibow||$33.45|
|USB Hard Drive||Optional||Western Digital My Passport 2TB External Hard Drive||$149.99|
|USB Wireless Adapter||Optional||Netgear WNA-1100 Wireless Adapter||$31.99|
|Remote Control w/USB Receiver||Optional||Noah Company MediaGate GP-IR02BK MCE Remote Control||$26.18|
“Whew! That’s a lot of hardware!” you say? True, it is; but only the top three are required and you may have much of it sitting around your house already. Still, I wanted to detail everything that went into my setup so that it could be easily replicated. Let’s go into detail on all of the items.
Of course, we’ll start off with the Pi. You’ll need to order the more popular Model B, which is a slight upgrade from the $25 Model A. It’s important to note that the Raspberry Pi Foundation has put out a new version of the Raspberry Pi Model B with 512 MB of RAM, instead of the original 256 MB. I’ve tested both with the original and the revised versions, though, and both worked fine for me. In addition, I didn’t notice much of a performance difference between the two when running XBMC. However, it’s certainly possible that our OpenELEC XBMC distribution could be optimized to better utilize the 512 MB of RAM in the newer version, so if you have a choice, buy the newer version (they should cost the same amount). That said, either version will do just fine (don’t go out and buy the 512 MB one if you already own the 256 MB version…unless of course you want another one for tinkering).
Next, we’ll need power for our Pi and attached USB devices. Truthfully, you probably already own what you need here. Ultimately, you just need a micro-USB cell phone charger to power the Pi, and a powered USB hub to plug in more devices, if necessary. Depending on the peripherals you want to connect and the amount of power coming from your power supply, you may not even need the USB hub. It’s important to note, though, that some cell phone chargers won’t provide enough power to the Pi, especially if you have peripherals attached directly to the Pi. You can check the compatibility list here to see if your USB hub is compatible, and check the list here for power supplies. If it isn’t in the list it doesn’t mean that it won’t work, however.
The Belkin USB hub I’ve referenced is unique because it will simultaneously provide power to both the Pi and the attached USB devices with one cable as opposed to two. This is especially handy because there’s also only one power adapter to plug into the wall, as opposed to two (one for the power supply and one for the USB hub). Do yourself a favor and get the $14 Belkin hub. There may be other hubs that support this, but some powered hubs do not, and this one is confirmed to work properly.
The Pi uses the SD card to run the operating system off of and save data to; you can compare it to the internal hard drive in a full-size PC. Because of this, it’s best to get a fast, high-quality SD card for the Pi, as there are some very slow SD cards available, which can severely affect the Pi’s performance. That said, most SD cards bigger than 2 GB will work in a pinch. Still, there are some SD cards that are not compatible with the Pi, so it’s best to check the compatibility list here before buying one.
Raspberry Pi Case
Now for the optional components. I’ve run the Raspberry Pi without a case for long periods of time, and never ran into any real issues. Therefore, I don’t see any reason why a case is required, but it is certainly nice to have; it makes me stop worrying about frying my Pi from static electricity and certainly cleans things up. My favorite case is the Pibow, referenced above, primarily because it’s the most stable case I’ve found. There are, however, many different cases available and any of them should work fine (you could even build your own).
Should you choose to get the Pibow and the Belkin USB hub I’ve referenced, you can clean things up quite a bit by attaching the hub to the top of the Pibow (I used a hot glue gun), as pictured below. It will also help if you can find a short 6″ USB cable to attach them together, as pictured. I picked up this 3-pack from Amazon and it’s working well.
USB Hard Drive
For media playback, you can either choose to stream your media from other computers you have in the house (XBMC is very good at this), or you can load media from an attached USB hard drive, or both. Keep in mind that if you want to use a wireless network connection that you might have issues playing 1080p HD content, depending on the speed of your wireless network (and how much interference there is). The easiest and most fool-proof solution is to use an attached USB hard drive. Ideally, you’ll want a 2.5″ form factor laptop-style external hard drive, as it won’t require another power adapter; you’ll also need plenty of space for all your large videos. The aforementioned Western Digital My Passport works great. Obviously, though, if you only want to stream your media from other computers, then a USB hard drive won’t be necessary.
USB Wireless Adapter
There are two ways to connect your Pi to your network: either through the built-in ethernet port, or by adding an external USB wireless adapter. If you have ethernet available, you’ll want to use that as it’s easier to configure and is much faster for streaming videos than typical wireless networks. That said, wireless will work fine if you have a compatible adapter and a properly-configured wireless network. The Netgear I referenced above is confirmed to work out of the box; there are many others that will, and many others that won’t. I would try what you have available around the house to see if any of them work, and if not purchase the Netgear referenced above or choose another from the compatibility list here.
You will want your Pi connected to the Internet, even if you don’t plan to use the Internet for anything. The Pi does not have an internal clock, so it needs the Internet in order to pull down the time (without it, XBMC will just always have an incorrect time). In addition, XBMC needs the Internet in order to pull down information and artwork for your media; this is a feature that you’ll want to use, because XBMC does it flawlessly and it makes for an excellent experience.
Finally, the last piece of optional hardware is the remote. Obviously, you’ll need some way to talk to XBMC. You can either plug in a mouse and keyboard, or a remote; XBMC is set up to work just fine with only a remote. Take note, though, that I’m finding that some XBMC distributions get hung up when multiple input devices are connected (such as a remote as well as a mouse and keyboard); this initially threw me for a loop for quite a while. The remote I referenced above works out of the box, and includes the necessary USB receiver. Still, you can try whatever you have around the house, and if all else fails, just plug in a normal USB mouse and keyboard. Once again, a compatibility list for remotes and keyboards is available here.
There are currently three different distributions that support running XBMC on the Raspberry Pi; they are OpenELEC, Raspbmc, and Xbian. After giving all three distributions a serious shot, it was blatantly obvious that OpenELEC was hands-down the best of the three. It’s currently easier to get going, more stable, faster, and nicer to work with than the other two. That said, the tides may turn in the future, so I wanted to at least mention Raspbmc and Xbian. But for the sake of this article we’ll focus on getting OpenELEC installed, since it’s currently the best distribution and provides an excellent solution.
OpenELEC has been around for a long time, so it’s no wonder that it’s the furthest along. It’s available for many different types of hardware, not just the Raspberry Pi, which is why it has been around for longer than Raspbmc and Xbian, which focus on the Raspberry Pi only. That said, there is a specific build for the Pi, so OpenELEC Raspberry Pi images are specifically tailored for the Pi.
SD Card Installation
In order to install OpenELEC on your SD card to be used in the Pi, you’ll need a desktop or laptop computer with an SD card slot (or a USB SD card reader). If you don’t have one, USB SD card readers are very cheap and easy to find. There are ways to install the image on Windows, Linux, and Mac, so don’t worry about that.
The best place I’ve found to download the most up to date image of OpenELEC for the Raspberry Pi is here. Download the latest .img.zip file, extract it, and save the .img file in an easily accessible location on your computer. Once you have the .img file, follow the instructions here to install the image to your SD card (there are instructions for Windows, Linux, and Mac).
Booting Up the Pi
Once you have the latest image of OpenELEC installed to your SD card, eject it from your computer, put it in the Pi (take note that it goes in the Pi upside down), and boot it up. At this point, leave all USB devices detached from the Pi, other than the power (but you will need to attach a monitor or TV of some sort to either the HDMI or RCA video port, of course). This way, if one of your USB devices causes issues, you can isolate the problem later. When the Pi boots up, you should see an OpenELEC boot graphic and eventually full-on XBMC.
If you don’t see XBMC after a few minutes, there are a few things that could have gone wrong. If you see video on your screen but it doesn’t boot up properly, something may have gone wrong during the writing of the SD card; try that process again. There also could be a problem with the video connection to your screen (either HDMI or RCA video). Most boot issues though are caused by a power supply that doesn’t provide enough power to the Pi; be sure to try another power supply. If none of your power supplies are working, buy the Belkin USB hub referenced above.
Once booted to XBMC, you won’t be able to do anything with it since you haven’t plugged in any input devices. Simply unplug the Pi and start plugging in devices one by one to confirm that the Pi still boots with each device. Take note that each additional device requires more power, so you may still run into power issues while plugging in additional devices. It is odd, but sometimes changing the USB port will solve power issues, so try different devices in different ports if necessary. If you find that the Pi won’t boot with certain devices plugged in, the vast majority of times it will be because of a lack of power. If all else fails buy the Belkin USB hub (or just buy it from the start to avoid the struggle).
Once you have the Pi booted with all of the necessary devices connected, there are plenty of things to configure. For the most part, everything will work fine out of the box, but it is worth running through some configuration in order to make sure that you get the best experience.
If you’ve plugged an ethernet cable directly into the Pi, then most likely your network will just work, unless your network requires a manual IP setup (which would be very odd). Still, manual IP configurations can be configured by going to the Programs option on the XBMC home screen, followed by OpenELEC OS Settings, and then the Network tab. Click on Static IP address in order to enter in manual IP settings.
If instead you need to connect via wireless, make sure your USB wireless adapter is connected on boot-up and again go to Programs, OpenELEC OS Settings, and the Network tab. Choose “WLAN” for the Network Technology, and select “wlan0″ for the Network Interface (you can also try wlan1 if you have it and wlan0 doesn’t work, but that’s never been necessary for me). Enter your wireless SSID under WLAN SSID, and select your security setting under WLAN Security (most likely WPA/WPA2). Then enter your wireless password under WLAN Passphrase, and select OK. If you don’t know what these settings are for your wireless network, then you’ll need to consult the manual for your router (or talk to whoever set up your router).
Once your wireless is configured, shut down the Pi by going to the power button on the XBMC homescreen and selecting Power off System. Wait for the screen to go black and unplug the Pi. Re-plug it back in, wait for it to boot up, and hopefully you’ll have a connection. You can confirm that the system is connected by going to System on the home screen, and selecting System info. You should see an IP address listed. If not, the Pi isn’t connected; you’ll need to re-check your wireless settings and/or try a different wireless adapter. If all else fails, buy the Netgear adapter I listed above, in addition to the Belkin USB hub, as that will ensure that you have enough power and a compatible wireless adapter.
You’ll notice that once you’re connected, either by ethernet or by wireless, the system time will begin to update automatically, instead of showing up as midnight every time you boot up the device (though the time may not be correct because of an incorrect time zone; we’ll get to fixing that in a bit).
Other OpenELEC OS Settings
Navigate back to the OpenELEC OS Settings by going to Programs on the home screen, followed by OpenELEC OS Settings. There are many things to configure here, but most people won’t need to change anything beyond the network settings. Therefore, if you’d rather skip this section, then feel free. Under the System tab, there are settings related to the hardware that you have installed. As your settings may be different than mine, you’re on your own here. Most often though, the default settings will be fine.
The Network 2 tab allows you to configure another network (such as enabling both wireless and ethernet at the same time), but at this point I don’t see much reason to do so, so you can most likely skip over this tab as well.
The Services tab is just a bit more important, but only for those who know what Samba and SSH are. This tab will allow you to enable SSH so that you can connect to the console from another computer. It will also let you enable or disable Samba, which is basically Windows networking to the Pi, and set a Samba password if you’d like. You probably do not want to disable Samba, though, as doing so will cripple a number of important features (including running manual updates to OpenELEC).
Now that we’re past the OS settings configuration, things will thankfully get a bit easier. Go to System on the home screen and select Settings. Many settings are available here to configure XBMC; feel free to poke around and experiment with them; the vast majority of them are not dangerous. We’ll cover a few of the important ones here.
Under Appearance, select International, and choose your language, region, and timezone settings. You can confirm that the time in the upper-right hand corner is updated to reflect the correct time where you’re at.
Also under Appearance, select Skin, and uncheck “Show RSS news feeds”. The XBMC news feed is nice, but is another thing for the Raspberry Pi to process, and can slow down the interface, so it’s a good idea to disable.
Also in Appearance, Skin, select the “- Settings” option underneath the Skin option and go to Background options. Uncheck ‘Show Background “Now Playing” Video’ and ‘Show Background “Now Playing” Visualization’. These options significantly slow the Pi down and are rather unnecessary (they let you watch a movie or see visualizations while you’re navigating the interface, which I personally find annoying, anyways).
Again, these are only the most important settings to check. The screens are all fairly self-explanatory and there are many things you might be interested in throughout them all. It’s worth going through the one by one to confirm that everything is the way you wish.
Configuring a Remote Control
Most remotes and receivers made for PCs (especially MCE remotes), will work out of the box without issues. However, if your remote isn’t working, you’ll need to unplug the receiver, plug in a keyboard, and then there’s one setting that may fix the issue. Go to System on the home screen, select Settings, and then the System tab. Under Input devices, select the “Remote control sends keyboard presses” option. This may fix the issue for you, or it may not. There are ways to manually configure remotes that don’t work out of the box, but it’s unfortunately beyond the scope of this article. If all else fails, just buy the remote I’ve referenced above.
Overclocking the Pi
Overclocking the Pi certainly isn’t necessary, but you can get increased performance out of it by overclocking it past the default 700 MHz that it’s configured to run at. To overclock, you’ll need to shut down the Pi, remove the SD card, and put it back into your computer. A drive called System should show up, and you’ll find a file on the drive called config.txt. Open this file up in a text editor, and look for the “Overclock mode settings”.
Before we get to changing the values, a word of warning: a number of things can go wrong when overclocking the Pi, the worst of which is SD card corruption. When using some of the more “extreme” overclocking settings, some users find that the SD card data can get corrupted and their configuration and any data stored on the SD card is lost. This seems to vary between devices, but is a very valid concern (I’ve seen it happen multiple times). Other things that can happen with overclocking is that the device will no longer boot, or it runs out of power if you’re using overvoltage settings. Obviously, a more powerful power supply can help with the latter. If these things scare you, then you should probably just avoid overclocking or only overclock to the “modest” overclocking setting.
Underneath the “Overclock mode settings” line, you’ll see a number of “commented out” (#) lines that specify the recommended overclocking settings. The “modest” setting almost always works without issues, but the subsequent settings may or may not work depending on your particular hardware. Obviously, you’ll have to experiment. If you try a setting, and the Pi doesn’t boot or is unstable, you’ll want to try a less-extreme setting.
To apply the overclocking configuration, you’ll need to uncomment (remove the #) from the arm_freq, core_freq, sdram_freq, and over_voltage lines. Then enter the values for each line from the table above, using the specific configuration that you want to try.
Once you’ve set the values, save the file and eject the SD card (make sure you properly eject it from your operating system before removing the card). Put it back in the Pi, give it a boot, and see how things run. If you have issues, try a less extreme setting, and you’ll be on your way.
Adding Codec Licenses
The Pi is capable of playing back nearly all video files, but due to licensing issues you’ll need to pay a small bit of money to purchase codecs for playback of MPEG-2 (DVDs) or WMV files. You may not have any of these files in your collection, and if that’s the case, then don’t worry about it. Still, most people will at least have some MPEG-2 format videos. At least the cost is very cheap; it costs less than $6.00 to enable both MPEG-2 and WMV-format playback.
To enable the playback for these formats, you’ll need to purchase the license keys from the Raspberry Pi Store here. In order to purchase them though, you’ll have to retrieve your Raspberry Pi’s serial number which is not on the outside of the device. To retrieve it, you’ll need to SSH into your Pi from another computer, and then run the following command to retrieve the serial:
To SSH into your Pi, first make sure you have SSH enabled (go to Programs on the home screen, OpenELEC OS Settings, Services). Then follow this guide in order to SSH into your Pi.
Once you purchase the licenses, it may take a few days to receive them, but they’ll eventually show up in your email. To install the licenses, you’ll need to edit the same config.txt file that we looked at for overclocking. Shut down and unplug the SD card from the Pi, plug it into your computer, and look for the System drive to show up. Open the config.txt file and paste the line(s) from your email to the end of the file. Save the file, properly eject the SD card, insert it back into the Pi, boot it up, and you should now be able to play MPEG-2 and/or WMV files.
Remember that there are two ways to play media on the Pi via XBMC: either by streaming it from another computer or attaching a USB hard drive. Streaming is great because everything happens over the network and it doesn’t require copying files; however, depending on your files and the speed of your network, your files sometimes might not play well if your network can’t keep up. Using a USB hard drive is ideal if you have very large 1080p movies that can’t be streamed, or if you don’t have another computer in your house with enough space anyways.
Streaming Your Media
In order to stream your media, you’ll need to make sure that the computer that contains the media files is sharing them out to other computers on your network. This process varies significantly depending on the operating system that you’re running, so it is hard to create a guide for. If you’re not familiar with sharing files across your network, then perhaps you should go with the USB hard drive option instead, or do some Google searches to figure out how to share files on your operating system.
Once your files are shared (and you know the computer name and share name of the shared folder), go to Videos from the home screen and select Files. Go to the “Add Videos…” option and select Browse. Select your network (there are several ways to connect; most likely you’ll want to use
Samba “Windows network (SMB)”), select your share, and login if necessary. Then, under “This directory contains”, be sure to specify the type of media in the folder you’re adding (TV Shows, Movies, etc.). Choose Yes to refresh info for all items within the path, and your media should start showing up in XBMC. Do this for any additional folders (you’ll want to add separate folders for different types of media, such as movies and TV shows). Keep in mind you can also do this for Music and Pictures in much the same way.
Using a USB Hard Drive
To use a USB hard drive, you’ll want to connect it to a computer in order to add media to it. OpenELEC can read pretty much all hard drive partition formats: Mac, Windows, or Linux. I prefer exFat because it allows me to have large files while working with both Mac and Windows. That said, you ought to be able to leave your drive as-is and it should work just fine.
Once you have your drive ready, you’ll want to copy movies and TV shows into separate folders on the hard drive, so that you can classify them as such in XBMC. Same goes for music, pictures, and other types of videos. Once you’re done copying over your files, eject the disk from your computer and plug it into the USB hub connected to your Pi (the on-Pi ports probably won’t work because there won’t be enough power to power the hard drive, assuming it’s a 2.5″ hard drive that is powered by USB). Make sure your Pi is off when you plug it in, and then boot it up.
Go to Videos on the home screen, and select Files. You should see your hard drive in the list here, named by the volume label for the drive. Navigate to the folder that you wish to add media for, and highlight it, but don’t open it. If you’re using a mouse, right-click on it. If you’re using a remote, there should be a menu button of some sort that triggers the context menu (though on my remote, which is the recommended remote, it’s oddly the “Guide” button). If you’re using a keyboard, press the C key. Once you have the menu open for the item, select “Set content”. In the dialog that pops up, select the type of media under “This directory contains” and press OK. Choose Yes to refresh the info for all items in the path, and you should start seeing your media show up in XBMC.
Naming Your Media Files
XBMC pulls information and artwork from the Internet for all of your media, to present it in attractive and functional ways. However, in order for it to recognize the media files for what they are, it is best to follow a strict naming convention for all of your movies and TV shows. For movies, the best format to use is this:
The Movie Name (YEAR)\The Movie Name (YEAR).ext
For example: Forrest Gump (1994)\Forrest Gump (1994).mkv
You’ll notice that each movie is in its own folder. This makes it much easier to add metadata files to the movies, so that you can save metadata information along with the movies. In case you have lots of movies and don’t want to manually create folders for all your movies, here’s a walkthrough as to how to do it automatically on Windows. On Mac or Linux, you’ll have to find your own utility (you might have to use a shell script of some sort).
You can also just throw all movies into the same folder (use the same naming convention but just for the movie file instead of the folder as well), but you may run into issues down the line if you want to customize your data.
For TV shows, the best naming convention is like this:
The Show\Season 1\The Show S01E01 Episode Title.ext
For example: Mythbusters\Season 1\Mythbusters S01E01 Exploding Toilet.mkv
The S01E01 stands for Season 1, Episode 1. Also notice the separate folders. For TV shows, it’s pretty important for them to be in separate folders (though the Season folders are not quite as important). Even still, as with the naming convention for movies, these naming conventions are standard and so it certainly won’t hurt to rename your files to match. If you don’t have the episode titles, it doesn’t hurt to leave them off as XBMC will automatically download them from the Internet.
For music, the names of the files don’t much matter as XBMC will pull metadata from the tags inside the files instead. Pictures are browsed only by folder structure in XBMC, so the folders and names matter only to how you prefer to view them.
Updating the XBMC Database
There are ways to automatically update your XBMC database when you boot up XBMC, but I don’t recommend them on the Pi as they have caused stability issues for me.
Update December 9th, 2012: It seems that with the latest versions of OpenELEC, automatically updating your XBMC database on startup works just fine. I still recommend waiting until the rest of the system is working before enabling this option, as it can interfere if you have other issues with the system, but it’s a nice feature once you have everything working properly. To enable it, go to System, Settings, Video, and check “Update library on startup”.
XBMC won’t automatically find new media that you’ve added, nor will it remove media that you’ve deleted. After adding new media, you’ll need to go to Videos on the home screen, select Files, browse to the folder that contains the media you want to update, and open the context menu (C key, menu or guide button, or right mouse button). Select “Update library” to add the new media to your collection.
You’ll notice that “Update library” will add new media to your collection, but it won’t remove deleted media. To do that, you’ll need to go to System on the home screen, select Settings, Video, Library, and select “Clean Library…”. This will go through and remove files from your library that are no longer found.
Updates for OpenELEC come out pretty much every day, as it is constantly being improved for the Pi. You can find the updates in the same place that you downloaded the original .img file, but you’ll need to download the .tar.bz2 files instead of the .img.zip files. Download the latest .tar.bz2 file, and extract it to your computer. You’ll need an unzip program that can extract .tar.bz2 files, but most modern file extraction programs can.
Once you have the files extracted, browse to the target folder inside the extracted files. Inside this folder you’ll find four files: KERNEL, KERNEL.md5, SYSTEM, and SYSTEM.md5. Ultimately, you’ll be copying all four of these files over to your Pi in order to update OpenELEC.
Assuming you haven’t disabled Samba in XBMC, you’ll find that there’s a share called “openelec” on your network. Browse to this share and you’ll see a bunch of folders; these folders are actually on your Raspberry Pi’s SD card. You’ll want to copy the four aforementioned files to the Update folder inside the openelec share.
After the files are copied, simply reboot the Pi to install and apply the update. To safely reboot the Pi, select the power button on the home screen and choose Reboot. As the Pi comes back up, you can watch it apply the update. Version information is available under System on the home screen, System info.
There are quite a few applications available that you can use to manage your media; some of them are incredibly powerful but difficult to use, while others are very easy to use but lack depth. However, there’s a new application out called MediaElch that does an amazing job of being easy to use and functional, and it’s by far the best media management application available for XBMC.
You may find that after naming all of your files properly everything seems to just work perfectly in XBMC right out of the box. XBMC is excellent at pulling quality artwork and matching movies correctly nearly every single time. That said, if you have any relatively unknown movies or are dissatisfied with what XBMC has found, you may want to take it a step further and manually manage your collection. This is what MediaElch is for. It allows you to manually download media information from the Internet and save it locally to your files, overriding XBMC’s default downloads.
MediaElch is fairly straightforward to use, so I won’t go into details on how to use it, but you’ll want to add your media folders to it just like you do in XBMC, and search for and choose metadata for all of your videos. Most likely you’ll want to use it in “XBMC XML” mode as that’s the easiest and safest method to use.
After using MediaElch to manually download metadata for your videos, the one caveat is that you’ll need to force XBMC to re-scan your media files. The easiest way to do this in batch is to simply remove the folder from your library, and then re-add and re-scan your files. To do this, go to Videos on the home screen, select files, and then browse to the folder that you would like to rescan. Open the context menu on the folder (C key, menu or guide button, or right mouse button), and select “Change content”. Under “This directory contains”, select None and press OK. When prompted to “remove all items within this path from the XBMC library”, choose Yes. XBMC will remove all the items from your library, and then you can add them back in the same way you did before.
I certainly hope this article has helped you get your Raspberry Pi media center in good shape; if it has, please let me know by commenting below. If it hasn’t, then please let me know what issues you ran into or what you feel is missing from the article. This is a work-in-progress, and I hope to ultimately make it the de facto standard article for setting up XBMC on the Raspberry Pi. If you have anything at all to add, please let me know, and enjoy your humble but powerful new media center!