12 Essential Tips to Using XBMC as the Perfect Media Hub


Micro-management just isn't Microsoft's thing. Why do we say that? It's because the folks from Redmond are regular Babe Ruths when it comes to coding an OS and knocked the ball out of the park with Windows 7. But when it comes to integrated apps -- all those things we would expect Microsoft to excel at -- the software giant is more like Casey at the bat and we're all just a bunch of Mudville suckers wondering how Microsoft manages to whiff it at the easy pitches. Internet Explorer? Most of us are rocking Firefox or Chrome. And while we don't want to be too hard on Windows Media Player, there are certainly better media frontends out there.

One of them is XBMC, an open-source project formerly known as Xbox Media Center. XBMC was originally developed for the first Xbox console, and through the years, it has evolved as a fully fledged, cross-platform media hub with a rabid following and plenty of user-created plugins and scripts. It's also given birth to more familiar projects like Boxee, Voddler, and others, all of which initially borrowed from XBMC's source code.

If you've never played with XBMC, it's time for a test drive. To help you kick the tires, we've assembled 12 terrific tips and tricks so you can spend more time cruising the media byways and less time fumbling with the controls.

Some highlights:

Add Your Video Library (and Tap Into an External Drive)

Get More Free Content with Plugins

Watch Hulu (It's Easier than You Think)

Liven Things Up by Changing Skins

Create Video Preview Thumbnails

Watch Streaming Content from TVersity

Quick Tips and Troubleshooting

Try Before You Commit - Install XBMC Live to a USB Stick

Remember when optical drives hadn't been invented yet, at least not like the kind we use in PCs today? Nostalgic as we are, we have no desire of returning to those to simpler times in tech, yet ditching an optical drive is the first thing low- power PC makers do. We're talking about netbooks and, as it applies here, nettops.

Because of their low power requirements and budget friendly price tags, nettops have become extremely popular as home theater accessories, especially those rocking HD capabilities with Nvidia's Ion platform. But not all of them come with an optical drive, and while that might not always be a big deal, in this case, it means you can't test out XBMC with an XBMC Live CD before committing to a full blown installation. Or does it?

As long as your nettop has a free USB port -- and the BIOS supports booting from USB -- you're in business. All you need to do is install XBMC Live to a thumb stick, and here's how you do it.

Because of the multi-platform support, there are several versions of XBMC available. The one we're after is the Live installation, which is about a 490MB download, and you can grab it here (the furthest option to the right). When it finishes downloading, extract the xbmc.iso file to your desktop.

This is the image for the XBMC Live installer, which you'd normally burn to a CD or DVD, plop in your optical drive, and call it a day. Unfortunately, that won't do you any good if the system you're trying to run it on doesn't have an optical drive, so we need to get this ISO burned to a USB stick that's at least 1GB. To do that, we're going to enlist the help of UNetbootin, a free utility that installs Linux distros to USB drives

Download UNetbootin from here and open up the executable. You'll notice that there are several Linux distributions to choose from the pull-down menu, but none of them are what we're after. Instead, click on the Diskimage radio button and make sure that ISO is selected from the associated pull- down menu. In the blank field directly to the right, click the button and navigate to the XBMC .iso file you downloaded and extracted earlier (it should be named something like xbmc-9.11-life-repack.iso).

Finally, fill out the pull-down menus below, selecting 'USB' for Type, and make sure the drive letter is correct (if you're unsure, open up My Computer). When everything looks good, press OK and UNetbootin will do the rest.

You now have a bootable USB stick with XBMC Live installed, but before you can use it, you need to make sure that the system you're trying to boot from is configured to boot from a USB drive. Go into the BIOS by pressing the DEL key during POST (if that doesn't work, consult your motherboard manual for the correct key). Poke around until you find the boot priority settings and make sure the USB drive is listed first. Once again, if you can't find it, consult your motherboard manual, or reference our Ultimate BIOS Guide for additional help. After you set the Boot Priority, press F10 to save the changes and exit.

Now you're good to go! Just plug in your USB key and reset your computer. When XBMC's menu comes up, select the Default option, or do nothing and it will load on its own in a few seconds. If you run into trouble for some reason, reboot, and this time select the manufacturer of your videocard when prompted (Nvidia, ATI/AMD, or Intel).

Add Your Video Library (and Tap Into an External Drive)

Whether you've gone with a full-blown installation on your nettop or have chosen to run XBMC on top of Windows, either for watching on your PC or hooking to your TV via that groovy HDMI port, the first thing you're going to want to do is add your video collection. XBMC's menu is pretty logically laid out, so trust your hunch and begin by navigating to the Video menu.

Most nettops don't come with a very big hard drive, some as little as 160GB. If you opted for an SSD instead of a traditional hard drive, you might even have less space to play with. And even though hard drives are dirt cheap these days, adding another drive to your system may not be an option. If that's the case, connecting an external unit is probably your best bet, and luckily, XBMC has no trouble detecting and reading from external drives connected via a USB port.

If you have an external drive hooked up, this is where you'll find it. Just like on the removable drive, you can browse its contents and play videos. Note that this also works with USB thumb drives, so it's a piece of cake to tote your flicks around and fire them up with little fuss.

To configure XBMC to recognize your video library, we need to back up a step and click on Add Source. You can add several different sources, but for now, we just want to configure one. Click on Browse to see a list of sources XBMC recognizes. Any hard drives you have attached should be recognized, as well as the ability to add UPnP devices, sift through your home network, and other odds and ends.

Navigate just as you would on Windows, clicking through your hard drive and folders. When you get to where your videos are stored, press OK and name the source when prompted.

You should now see your new source in the main menu. If you ever need to change the name, just right-click and choose Edit Source. You can also add a thumbnail image by right-clicking, among a few other self- explanatory options.

Organize Movies into Separate Folders (without Manually Creating New Folders)

Do you have a Videos folder on your hard drive with dozens, maybe even hundreds of videos nestled inside? It seemed like a good idea at the time -- after all, what's the use in creating separate folders for each individual movie? That just means more clicking.

When it comes to organizing everything through XMBC, however, you may realize that you want all your movies in their own folder, even though you didn't before. The problem, though, is that the more movies you have, the longer it's going to take to do this. That is, unless you enlist the help of FoldMonkey.

FoldMonkey will do the grunt work for you and create new folders so you don't have to. Grab FoldMonkey from here , install it, and then fire up the application. In the Monitor Folder field, select the folders with all of videos. Next, scroll down and check Archive File. This will bring up a few more options. Check Create Folder. In the second pull-down menu, select 'Move File To The Above Created Folder.' Finally, click 'Scan Once Only' and sit back while FoldMonkey does its thing!

Get More Free Content with Plugins

One reason we like XBMC so much is because it offers an almost endless array of functionality. Not by default, mind you, but through the use of third-party plugins, which is common to a lot of open-source projects. In this case, there are plugins available that will add streaming NBA content to the mix, stream and download content from TMZ.com, add radio stations, launch desktop applications (essential for getting Hulu to work, which we cover next), integrate Flickr, and a whole lot more. And thanks to an active community of XBMC users, new ones are being added all the time.

Manual Method

The latest release of XBMC supports five different categories of plugins: Music, Pictures, Programs, Video, and Weather. These are all located in XBMC's plugins directory, but to find them, you first need to make sure you're able to view hidden files and folders.

  1. Open up My Computer
  2. Press the Alt key
  3. Navigate to Tools>Folder Options
  4. Select the View tab
  5. Check the 'Show hidden files, folders, and drives' radio button

Now that you can view hidden system files, navigate to C:\Users\[USERNAME]\AppData\Roaming\XBMC\plugins . You should see all five categories mentioned above. When you download a plugin, it will probably come in a ZIP archive. The first step to installing it is to extract the contents to the appropriate folder in the plugins directory. For example, if you're installing a video plugin, like VideoMonkey, you extract the contents to C:\Users\[USERNAME]\AppData\Roaming\XBMC\plugins\Video .

All installed, right? Not just yet--we still need to configure XBMC to integrate the plugin into its menu. Open up XBMC and navigate to Videos (or whichever category plugin you're trying to install). At this point, you might be tempted to click on 'Video plugins,' but that folder's for plugins that are already installed. Instead, click on Add Source>Browse and scroll down to where it says Video plugins. Inside this folder you should see all the plugins that are in the above directory, including the one you just moved. Click on the one you're trying to install and click Ok (and then one more time on the next menu). That's it! You'll now find the plugin by navigating to Videos>Video Plugins from within XBMC's interface.

Automatic Install

In addition to the manual method of installing plugins, you can also use XBMC's built-in SVN Repo Installer or the third party XBMC Zone Installer. The latter is pretty popular in the development community and there are some plugins that require it, so it's a pretty good idea to have this on hand.

To start with, we need to resort back to the manual method to install XBMC Zone Installer. Grab the plugin here and extra the contents to C:\users\[USERNAME\AppData\Roaming\XBMC\plugins\programs .

There's really nothing more you need to do, at least in terms of configuring the installers to work with XBMC. You'll find them both by opening up XMBC and navigating to Programs>Program Plugins.

XBMC is a bit slicker than SVN because everything is pretty much clearly labeled. Click on XMBC Zone Installer, for example, and you'll be presented with three categories: Latest Add-ons, Plugins, and Scripts. Each of these contains different available third-party goodies, and sometimes they'll be broken down into even more categories, like music, movies, and so forth. Navigate through the menus to see what's available, and to install one of the plugins, just click it and follow the prompts.

The SVN Installer works in exactly the same way. Just click through the menus, wait for the directories to be loaded (like in the pic above), and click on a plugin to install it. Be sure to check the Skins folder if you want to change up the look of XBMC!

Plugin Resources

Plugins for XBMC are scattered all over the net, but there are a handful of go-to sites you should keep in your bookmarks. These include:

Watch Hulu (It's Easier than You Think)

We're not going to get into the politics of streaming video services, and especially the on-again-off-again relationship Hulu has had with third party programs, but suffice to say, Hulu doesn't work with XBMC. You may have even gotten your hopes up when you saw that there exists a Hulu plugin, but it's a no-go on the current version of XBMC (there's a special version of XBMC you can install where it supposedly works, but we have a better way).

The workaround here isn't glamorous, but it's functional, and at the end of the day, that's all we're really after. First, download and install Hulu Desktop, which you can swipe from Hulu Labs here . Once installed, the executable gets nestled away hidden from view and far from the Program Files folder most applications install to. Our first challenge is to move the Hulu Desktop launcher to the desktop. To do that, make sure you're able to see hidden files and folders:

  1. Open up My Computer
  2. Press the Alt key
  3. Navigate to Tools>Folder Options
  4. Select the View tab
  5. Check the 'Show hidden files, folders, and drives' radio button

Now that we've enabled viewing hidden files and folders, navigate to : C:\Users\[USERNAME]\AppData\Local\HuluDesktop . In that directory, you'll see the program's launcher, HuluDesktop.exe. Move, don't copy, this file over to your desktop.

Next we need to turn our attention to XBMC, and specifically, to installing plugins. The one we're after is called Launcher, and you can download it from here . Open up the ZIP file you just downloaded and extract the Launcher plugin (which is a folder) to C:\Users\[USERNAME]\AppData \Roaming\XBMC\plugins\video . If you're in the right directory, you'll see another plugin called Apple Movie Trailers Lite. You don't have to do this next step, but if you want to make the plugin a little easier to find in XBMC, rename it Hulu Launcher.

With the heavy lifting out of the way, it's time to fire up XBMC and test out our plugin. Navigate to Videos.Video Plugins, and in there, you should see an entry titled either Launcher, or Hulu Launcher, depending on whether or not you renamed it above.

Click on the Launcher and select the Standalone (normal PC executable) option. You'll now need to navigate to the HuluDesktop executable, and the reason we moved this to the Desktop earlier is because XBMC is unable to poke around Windows' hidden folders. So, assuming you followed the above steps correctly, direct XBMC to C:\Users\[USERNAME]\Desktop \HuluDesktop.exe and press OK.

You'll be asked to enter in any arguments, which you don't need to worry about, and a name (HuluDesktop, or something similar).

In your best Emeril impression, say 'BAM!,' because you just cooked up a delectable workaround for watching Hulu through XBMC. You can browse through flicks just like you normally would, and fullscreen viewing also works.

Liven Things Up by Changing Skins

Changing up the look, feel, and even functionality of XBMC is as easy as swapping skins, and just like installing plugins, there are two ways to do this.

Manual Method

To save you time from messing around with busted skins or ones that may have been compatible with an older version of XBMC but no longer work with the current version, take a peek at XBMC's running list of supported skins, which you can find here .

When you find a skin you want to try out, download it and extract the contents (which should be a folder full of files) into C:\Users\[USERNAME\AppData\Roaming\XBMC\skin .

To try out one of your new skins, open up XBMC and navigate to System>Appearance>Skin. Click the up or down arrow next to Skin to scroll through the list of available ones and then double-click to change it up on the fly. If you don't like the new look, just change it back (default skin is Confluence).

Automatic Install

Don't feel like fussing with downloads and hidden system files? No problem, just use XBMC's SVN Revo Installer to automatically install skins. You'll find this option by opening up XBMC and navigating to Programs>Program Plugins>SVN Repo Installer>xbmc-xbox-skins.

The first time you click this option, XBMC will download a list of available skins. Let it finish, and then click through to the Skins folder. You'll see a bunch of different ones to choose from--just click whichever one catches your eye and follow the prompts to install. When it's finished installing (and this can take awhile, depending on the speed of the server from which it's downloading from), try it on by going to System>Appearance>Skin.

Set up a Universal Remote

There's nothing wrong with using a mouse and keyboard to navigate through XBMC, especially with all the care that's been given to making the user interface so intuitive. But for those you trying to fully integrate an XBMC box into your living room setup, using a universal remote is the only way to go.

Of course, it all starts with getting your PC and remote to communicate with each other, and for that, you're going to need some sort of receiver, like the USB-UIRT. Because this could be separate guide in and of itself, we're going to assume you either already have the necessary hardware and setup, or know what you need to invest in. Our focus is going to be on integrating a universal remote with XBMC.

To make life easier (and to make this hack possible), you'll need to create a special file that will allow you to configure advanced settings. This will make sense in a moment, but for now, navigate to C:\Users\[USERNAME]\AppData\Roaming\XBMC\userdata . Create a new text file and name it advancedsettings.xml (be sure to include the .xml file extension, not .txt). Edit the file and type:


Once you restart XBMC, what this little trick does is tell the media app to display a code on the screen whenever you press a button on your remote. These codes will come in super handy when it comes time to map your universal remote's buttons, but first, start mashing buttons and write down the corresponding codes.

Before we can map these codes to specific functions, we need to know what XBMC is capable of doing, and what the corresponding codes are. To find a list of these, see here . You'll notice, for example, that the code to play a DVD is PlayDVD , and to take a screenshot, the code is TakeScreenshot .

Ready to start configuring your remote? Great! Head over to wherever you installed XBMC on your hard drive and dig down to the system>keymaps folder. On 64-bit Windows 7, for example, the default location is C:\Program Files (x86)\XBMC\sytem\keymaps . Right-click the file remote.xml and select Copy. Now navigate to C:\Users\[USERNAME]\AppData\Roaming\XBMC\userdata\keymaps . Right-click anywhere in the folder and select Paste. Any duplicate files in this folder will take precedence over the original. We could have just moved the original remote.xml to begin with, but this way, we retain an original backup in case something goes wrong.

Edit the remote.xml you just pasted (right-click, Edit) and scroll down to where it says:


It probably won't be laid out as neatly as that, but it doesn't matter, so long as it's in order. What we need to do is insert code right above where it says <remote> so that it looks like this:


Using the above code structure, what you're going to do is replace ## with the number code you wrote down earlier, followed by a command code from the link above. So let's say pressing a button on your remote spits back the code 27, and you want to use that button to play a DVD. Here's what it would look like:


Add as many codes as you want following the same structure as above. When you're finished, save your changes and restart XBMC.

For Harmony One Owners

If you're rocking a Harmony One universal remote, you might as well take a little time to dress up the touchscreen. To do that, use the included Logitech software and click on Customize Buttons for the Xbox Media Center, and then select the Advanced Buttons tab. The goal here is to label everything based on the actions they perform. Note that the device column lists which device the commands are being sent to. The trick here is that the Harmony contains some unique codes, and credit goes to xbmc.org forum member katz for listing these out (you'll find them here ). Reference these codes to map your remote with XBMC's own codes and you're golden!

Create Video Preview Thumbnails

The more videos you accumulate, the harder it can be to keep track of them. The solution? Create thumbnail images for each one so you know what you're dealing with at a glance.

As a prerequisite for this to work, you'll need to download FFmpeg from here . Extract all three files to C:\Windows\System32 if you're running a 32-bit version of Windows, or C:\Windows\SysWOW64 if you're rocking a 64-bit version.

Once you've done that, open up a command prompt by clicking the Start menu, type CMD, and press enter. Navigate to the directory where your videos are located. Since ours are located on our D: drive under Videos, we would type:

cd videos

Then type the following:

for /r %i in (*.avi) do ffmpeg -i "%i" -f mjpeg -t 0.001 -ss 5 -y "%~di%~pi%~ni.tbn"

What the above code will do is create thumbnail previews five seconds into each AVI video file. However, you can replace (*.avi) with a different video format, such as MP4 or whatever type of videos you might have. You can also change how long into the video a thumbnail image is pulled.

Restart XBMC and browse your videos, now with preview thumbnails!

Use an Xbox Controller Natively

Starting with the Xbox 360, we no longer have to fiddle with USB adapter cables or buying a separate gamepad for our PC. Because Microsoft integrated a standard USB connector, it's easy enough to just plug and play, which comes in handy when you're playing a PC game ill-suited for the mouse/keyboard combo. It also comes in handy for manipulating XBMC, but getting the controller to work natively takes a bit of legwork.

If you haven't already, install XBCD, which you can grab from here . Next, navigate to C:\Program Files (x86)\XBMC\system\keymaps . Copy the joystick.Microsoft.Xbox.Controller.S.xml file (right-click, Copy) to C:\Users[USERNAME]\AppData\Roaming\XBMC\userdata\keymaps (right-click, Paste).

Edit the file you just pasted (right-click, Edit) and click Edit>Replace..., or press CTRL+H. What we want to do is replace all the instances of a controller we're not using, with one that we are. In the top field, type <altname>Mad Catz MicroCON</altname> and in the bottom field type <altname>XBCD Xbox 360 Controller</altname> . When it finishes, be sure to the changes.

The last thing we need to do is load up a special profile in XBCD. Normally we'd have to create our own, but XBMC forum member XIYL did the legwork already. You can download his custom XGI file here (right-click, Save link as...). Open up XBCD and load the XGI file. Once you're finished, restart XBMC and use your Xbox 360 controller with any key emulation.

Configure TVersity to Work with XBMC

We know what you're thinking--why in the world would we want to run TVersity if we're already running XBMC? Or you're maybe you're wondering, 'what the frak is TVersity, anyway?' In the case of the latter, TVersity is essentially a pretty awesome media streaming software package, which we covered in a previous how-to guide (see here ). To answer the former question, TVersity remains a great way to receive streaming online content, and it also comes with a really good transcoder. Granted, its usefulness is somewhat diminished if you've made the switch to XBMC, but if you want to use them both, it's fairly easy to set up.

Download and install the latest version of TVersity (currently version 1.7.4 Beta), which is made available here . Fire it up and head over the Library tab to add or edit any online feeds. You'll notice that there are several already included, such as YouTube, Flickr, and others.

When you're finished, head on over to the Settings tab. Check to make sure that 'Automatically start sharing the media when the computer starts' is enabled (this should be enabled by default). Now head down to the Home Network section and change the Port to 3689. Save your settings.

Now load up XBMC and bring up Videos. Click on Add Source>Browse and scroll down to UPnP Devices. When you click on this, you should see TVersity listed. Select it, press OK. You'll still need to update any feeds through TVersity's frontend, but once you do, you'll be able to scroll through and view them from within XBMC.

Set up SFTP for Transferring Files to XBMC Live

For a dedicated media box, it's not a bad idea to go with a full blow Live install rather than running XBMC on top of Windows. If nothing else, it will save you the cost of a Windows license. But doing so also presents a challenge--how do you transfer files to an XBMC Live box?

The answer lies in SFTP. Any SFTP client will do, though we recommend the free FileZilla package, which you can download from here . Open up FileZilla and click on File>Site Manager, or press CTRL+S. Mash the New Site button and name it something like XBMC Live. Here are the settings you'll need to use:

  • Host: IP address of your XBMC Live box (you can find this under Network Settings in XBMC)
  • Port: 22
  • Servertype: SFTP
  • Logontype: Normal
  • User: xbmc
  • Password: xbmc
The username and password listed above are the default options. If you set either/both to something different when installing and configuring XBMC Live, then use those credentials instead.

Quick Tips and Troubleshooting

MTU Settings for Windows 7 SMB Shares

Some users have reported problems with SMB Shares for XBMC after upgrading to Windows 7, such as dropped connections, no connection at all, and other quirks. If you're running into these or similar issues, you're not alone, though it may take some trial and error to resolve.

XBMC.org forum member Aikar has posted MTU settings that he claims got everything working again (see here ). We didn't run into issues ourselves so there's no way for us to know if his method helps, but it's worth a shot if you're at the end of your rope. Also take note of the last post on page 1, which seems to have also worked for at least one other forum member in that thread.

CPU Usage Unusually High

If you're still chugging along on a Pentium III or AMD Barton chip, it's high time for an upgrade. But if you're running a relatively modern CPU and notice that just navigating menus results in ultra-high processor cycles, then there's a problem, albeit a seemingly common one. The verdict is still out on what does and doesn't work, and what causes the issue in the first place, but one thing that has worked for many is to disable VSync. You can do this in Windows and in XBMC, but try one at a time before disabling both.

Also check to make sure that all your drivers are up to date, including GPU and chipset, and that you're running the latest version of DirectX.

No Video - Only a Black or White Screen

There are two main culprits that could result in a black or white screen instead of video playback. The first is if you're running an older videocard that doesn't support Pixel Shader 2.0 or higher. If this is the case, then you're "out of luck," as XBMC's developers put it.

If your videocard meets the minimum Pixel Shader requirement, then you might be missing the compiler XBMC needs. Update/reinstall DirectX and see if that resolves the problem.

Control XBMC with Your Android Device

With Google's Android platform catching fire as of late, there's a good chance you either already own an Android device, or plan on getting one soon. That means you'll be able to control your XBMC media center with your smartphone, so long as you install XBMC Remote ( download link ). This handy app turns your device into a remote control with the look of the Xbox DVD dongle and comes with a ton of features, including the ability to display cover art (when available), sort through your movie library by title, actors, or genre, manage multiple XBMC instances, and a whole lot more.

XBMC Keeps Freezing

On occasion, XBMC seems to go into a coma and becomes completely unresponsive when trying to open up a movie or music file. We've run into this ourselves, but if it happens frequently, it might be indicative of a corrupt database. To fix the problem, navigate to C:\Users\[USERNAME]\AppData\Roaming\XBMC\userdata\Database and delete all the files in this directory, but not the folders.

Around the web