How-To:XBOX 360 Media Server in Linux

If you have an XBOX 360 and you’re not using the media capabilities your not completely using your XBOX. The 360 is an excellent way to bring the media on your PC to your living room. Today I’m going to walk you through how to stream video to your 360 using uShare on a computer running linux. It doesn’t need to have very high specs, mine only has a Pentium 4 running at 1.6Ghz with 768 Megs of ram and it streams flawlessly.

Here’s what we’ll need to get started.

  • XBOX 360
  • Spare Computer with Ubuntu Linux Installed (With as much Hard Drive space as you feel necessary, I have 500 Gigs installed in mine )
  • uShare (ver 1.1a)
  • Ethernet cable from your Spare computer to your XBOX 360

OK? Now lets get this thing done

First we need to add the GeeXboX package repository to apt because this is where we’re going to get the uShare packages from. To do this we need to open a terminal window and type

sudo gedit /etc/apt/sources.list

We want to add the following lines to the end of this file

##GeeXboX package repository
deb http://www.geexbox.org/debian/ unstable main

Make sure to save this file.

Now from the terminal type the following command to update the apt cache and install ushare

sudo apt-get update; sudo apt-get install ushare

Once the uShare binary is installed you need to edit the ushare.conf file to do this type

sudo gedit /etc/ushare.conf

here’s an example ushare.conf

# /etc/ushare.conf
# uShare UPnP Friendly Name (default is 'uShare').
USHARE_NAME=VIDEOSERVER

# Interface to listen to (default is eth0).
# Ex : USHARE_IFACE=eth1
USHARE_IFACE=eth0

# Port to listen to
USHARE_PORT=49153

# Port to listen for Telnet connections
USHARE_TELNET_PORT=1337

# Directories to be shared (space or CSV list).
# Ex: USHARE_DIR=/dir1,/dir2
USHARE_DIR=/home/user/xbox360

# Use to override what happens when iconv fails to parse a file name.
USHARE_OVERRIDE_ICONV_ERR=yes

# Enable Web interface (yes/no)
ENABLE_WEB=yes

# Enable Telnet control interface (yes/no)
ENABLE_TELNET=no

# Use XboX 360 compatibility mode (yes/no)
ENABLE_XBOX=yes

# Use DLNA profile (yes/no)
# This is needed for PlayStation3 to work (among other devices)
ENABLE_DLNA=no

The main items in this file are

  • “USHARE_NAME” is the display name of your share
  • “USHARE_IFACE” is the network interface uShare should listen on
  • “USHARE_PORT” this is the port the ushare server listens on. Make sure this is set to 49153
  • “USHARE_DIR” This needs the full path of the folder with your media.
  • “ENABLE_WEB” This turns on the web interface make sure this is set to yes
  • “ENABLE_XBOX” This is what enables XBOX 360 compatibility. Make sure it’s set to yes

Save this file.
Now simply start uShare by typing

sudo /etc/init.d/ushare start

You should see a line similar to the following.

* Starting uShare UPnP A/V & DLNA Media Server: ushare
...done.

Now we need to visit the web interface at

http://your.servers.ip.address:49153/web/ushare.html

From this web page click the “Refresh Shares …” button

Now if you switch on your XBOX 360 you should be able to browse to the “media” blade then go to the “Video” option if you press “X” you should see the text you entered into “USHARE_NAME” in the ushare.conf file. You can now browse and stream compatable videos (divX, xvid, mp4, mov, mpeg, avi) from your Linux server to your XBOX 360.

If you’re not able to see the uShare share from your XBOX you may need to edit the following file

sudo gedit /etc/init.d/ushare

Find the following lines

start-stop-daemon --start --quiet --background --oknodo \
--make-pidfile --pidfile $PIDFILE \
--exec $DAEMON -- $USHARE_OPTIONS

And change them to

start-stop-daemon --start --quiet --background --oknodo \
--make-pidfile --pidfile $PIDFILE \
--exec $DAEMON -- $USHARE_OPTIONS --xbox

Now restart uShare

sudo /etc/init.d/ushare stop
sudo /etc/init.d/ushare start

And you should now be able to see your share from the XBOX 360

Have fun and happy viewing!
Send any feedback to liam.macinnes (at) gmail (dot) com

If you enjoyed this post, make sure you subscribe to my RSS feed!

Published by

LiamM

I'm a self labeled Nerd who enjoys Playing Video Games, restoring classic muscle cars (i have a 65' Mustang in the works) , Running Big Data Clusters, Tattoos, Working on System Automation, Riding and customizing Motorcycles, and writing python Code. I'm an SRE with DemonWare/Activision Specializing in Big Data/Hadoop operations but all opinions and views expressed on this site are solely my own.