XBMC - Using Xbox Media Center with the LinkStation

From NAS-Central Buffalo - The Linkstation Wiki
Revision as of 18:45, 21 September 2006 by Ramuk (Talk | contribs)

Jump to: navigation, search

xb04.gif

250px-Xbmc.JPG

Contents

Xbox Media Center (XBMC)

Xbox Media Center (XBMC)[1] is a feature-rich open source media player for the Xbox -- a software program which plays video, music and displays pictures/images from the Xbox DVD-ROM drive, built-in harddisk drive, local-area-network or the internet. XBMC is the successor to Xbox Media Player (XBMP) (XBMP). XBMC is a complete rewrite of XBMP by the same developer-team. XBMC was publicly announced in October 2003.

Features

XBMC can play media from CD/DVD media using the Xbox's built-in DVD-ROM drive. It can also play media from the Xbox's built-in harddisk-drive, stream it over an SMB/SAMBA/CIFS share (Windows File-Sharing), Universal Plug and Play (UPnP) share, XBMSP (XBox Media Stream Protocol) share, or stream iTunes-shares via DAAP. XBMC takes advantage of the Xbox ethernet-network-port and broadband internet if available, using the IMDb to obtain thumbnails and reviews on movies, CDDB (via FreeDB) for Audio-CD track-listings) and album-thumbnails via AMG, stream internet-video-streams, and play internet-radio-stations (such as SHOUTcast). XBMC also includes the option to submit music usage statistics to Audioscrobbler and Last.fm, it has music/video-playlist and picture/image-slideshow functions, a weather-forecast (via Weather.com) and MP3+CDG karaoke function, plus many audio-visualizations. XBMC can also upconvert all 480p/576p standard-resolution videos and output them to 720p or 1080i HDTV-resolutions. In addition is a frontend for an Xbox Live alternative (called "XLink Kai") integrated, enabling you to control the engine running separately and play system-link/LAN-enabled Xbox games online without leaving your television.

Running XBMC

XBMC requires a modchip[2] or softmod[3] to run. For the software exploit you can use a USB Thumbdrive instead of the Action Replay device. [4][5][6] The T3CH distribution seems the most stable.[7]

Configuring File Shares

There are four alternatives for streaming media from the LinkStation to the XBMC[8]

Using Samba

Windows File Sharing (SMB/SAMBA/CIFS) is the most capable method of sharing media. It is is capable of streaming all types of media and gives the option of sharing individual folders or entire drives, (including CD/DVD-ROM drives).

  1. Samba - a Windows-readable file share

UPnP Sharing

XBMC also supports UPnP[9] (short for "Universal Plug and Play") shares. This is an extremely easy, user-friendly way to stream your media over your network. Like SMB/SAMBA/CIFS it is capable of streaming all types of media and gives the option of sharing individual folders or entire drives. Note that you must be using an XBMC build from 10th of July 2006 or newer in order to use this functionality.

  1. TwonkyVision UPnP MediaServer
  2. GMediaServer - GNU UPnP media server (MIPSel)

The XBMS Protocol

XBMSP (XBox Media Stream Protocol) or XBMS for short is another way of sharing media, supposedy it is faster than Samba. It is capable of streaming all types of media and gives the option of sharing individual folders or entire drives. XBMS is very bandwith efficient and it is a routable network-protocol which means that it is also ideal if you which to stream over the internet, (just make sure you open the TCP/IP network-port 1400 in your firewalls on both both the server-side and the client side). For linux XBMSP support is provided by ccXStream.[10] Once you install ccXStream on your LinkStation all you have to do is configure your XMBC to use the media share.[11]

Compile from Source

  1. Install the Precompiled C development environment, running on the LS
  2. Get the source tarball and compile
wget http://osdn.dl.sourceforge.net/sourceforge/xbplayer/ccxstream-1.0.15.tar.gz
tar -xvzf ccxstream-1.0.15.tar.gz
cd ccxstream-1.0.15
make
cp ccxstream /usr/local/bin
mkdir /usr/doc/ccxstream
cp  COPYRIGHT /usr/doc/ccxstream/
cp  ChangeLog /usr/doc/ccxstream/
cp  PORTING /usr/doc/ccxstream/
cp  README /usr/doc/ccxstream/
cp  TODO /usr/doc/ccxstream/
cp  xbmsp-xml.txt /usr/doc/ccxstream/
cp  xbmsp.txt /usr/doc/ccxstream/

README file

COMMAND LINE OPTIONS
-l address Listen only given local address. Only one -l flag can be given. By default all local interface addresses are listened.
-p port Listen given port (default is 1400).
-r directory Use diven document root (default is current dir). If -S flags are present, it's often the best choice to use an empty directory as a document root. With option -r -user can create a virtual root directory into which the directories can be added with -S flag.
-u user Run as given user. Give up the user privileges and run with as given user instead. You need to have root privileges in order to use this flag.
-P password Require password authentication from the client. Only clients supplying the given password can use the server. The client can also pass an user name in the authentication

step, but it's ignored.

-L Follow symbolic links in the data directories. Normally symbolic links are not followed because of security reasons. This option overrides the default and more secure option.
-f Fork process to background.
-F pidfile Save pid number to given file. This is especially usable if the server is running in the daemon mode (-f).
-S mountpoint=dir Show dir in the root of the fileserver as mountpoint. Multiple -S flags can be present.
EXAMPLE
ccxstream -f -F /var/run/ccxstream.pid -P s3cre7 -r /u/documents -S video=/u/videos -S audio=/u/mp3 

Run server in background and show directory /u/documents as a root directory of the server. In addition show directory /u/videos in as directory video and directory /u/mp3 as directory audio in the document root. All clients need to authenticate with password "s3cre7"

CAUTION

For security reasons symbolic links are not followed. Document root can however be a symbolic link. If you want to use symbolic link to point to a shared directory (-S flag) you can circumvent the symbolic link by adding /. to the end of the path. If for example /u/videos is actually a symbolic link pointing to a real video directory, you can use flag -S video=/u/videos/. instead of plain -S video=/u/videos that would not work with a symlink.

Create a startscript

/etc/init.d/ccxstream

#!/bin/sh

if [ -n "`pidof ccxstream`" ] ; then
   killall ccxstream 2>/dev/null

fi
 
# see /usr/doc/ccxstream/README for the full summary on
# command-line options, but the terse summary is that
# -r is the directory to "share" using ccxstream, and is
# probably the option you most want to adjust.
#

sleep 2
/usr/local/bin/ccxstream -r /mnt/share -u username -f -F /var/run/ccxstream.pid

Add to init.d to start on system boot, and start the ccXStream daemon

chmod a+x /etc/init.d/ccxstream
cd /etc/rc.d/rc2.d
ln -s ../init.d/ccxstream S75ccxstream
cd ../rc0.d
ln -s ../init.d/ccxstream K02ccxstream
cd ../rc6.d
ln -s ../init.d/ccxstream K02ccxstream
/etc/init.d/ccxstream

iTunes (DAAP)

XBMC has the ability to stream audio files that you set up to share through ITunes. This method is extremely easy to set up and configure, although it is limited to audio files. It will not allow you to share videos, photos or other types of media. It also does not allow you to share entire folders or drives. The Linux implementation of this protocol (previously called Mt-dappd) is Firefly.

  1. Serving iTunes contents with Mt-daapd

Xlink Kai

Xlink is a method (developed by Team-XLink) of online-gaming whereby system-link enabled Xbox games can be 'tricked' into being played across the internet instead of a normal LAN (Local Area Network). For more information see: KAID - XLink Kai online gaming for Xbox, 360, PS2 and PSP

Xbox Media Center Online Manual

[12]

Introduction

  • Introduction
  • About this Manual
  • Features and Supported Formats

Setting Up XBMC

  • Installing XBMC
  • Bookmarks
  • Sharing Media from your PC
  • XBMC Settings
  • Using Profiles
  • The UserData Folder
  • Advanced Configuration

General Usage

  • Default Controls
  • The User Interface
    • General
    • My Programs
    • My Music
    • My Pictures
    • My Videos
    • My Files
    • Weather
    • Settings
  • The Web Interface
  • Using Scripts

Inner Workings

  • Video Players
  • Audio Players
  • The XBMC Database
  • Skinning XBMC
  • Creating Python Scripts

Appendices

  • Appendix A: References
  • Appendix B: Troubleshooting
  • Appendix C: HOW-TOs / Tips & Tricks
  • Appendix D: Development Notes
  • Appendix E: Popular Modifications to XBMC and the Xbox

References

  1. Wikipedia: Xbox Media Center (XBMC)
  2. Xbox-Scene.com:Modchips for the original Xbox
  3. ProductWiki™:How to Go from Xbox to Xbox Media Center in 30 minutes
  4. Xbox Linux:USB HOWTO
  5. Xbox Linux:Xbox USB Compatibility List
  6. Xbox Linux:USB Storage To Xbox Memory Card HOWTO
  7. Google Search:T3CH XBMC
  8. Xbox Media Center Online Manual:Configuring PC Shares
  9. Xbox Media Center Online Manual:UPNP Sharing
  10. ccXStream 1.0.15 for Linux
  11. Xbox Media Center Online Manual:How to Configure XBMS on XBMC
  12. Xbox Media Center Online Manual
Link.png This article is currently a stub. You can help this Wiki by expanding it

. This template will categorize articles that include it into Category:Stubs.