My Quickstart Guide

Help
2006-10-27
2013-05-03
  • Alex Atkin UK
    Alex Atkin UK
    2006-10-27

    Install the J2RE RPM http://java.com/en/download/manual.jsp
    (or if you are using a none-RPM based distro extract one of the other formats follow the instructions) and add it to the path.

    Add Java to your path by changing the following in ~/.bash_profile

    PATH=$PATH:$HOME/bin
    export PATH

    to

    PATH=$PATH:$HOME/bin:/usr/java/jre1.5.0_09/bin
    export PATH

    If neither of the above lines are present then you would add:

    PATH=$PATH:/usr/java/jre1.5.0_09/bin
    export PATH

    If you dont use BASH then you are on your own but it should be similar for any shell.

    Make sure TCP port 7000 and UDP port 1900 are open on any firewall you might be running.
    This should only be necessarily if your firewall is running on the same network as your
    Xbox 360 is on.  In my case this was true as my 360 has its own public IP address.
    In the unlikely event yours is setup like mine then ensure that ONLY the 360 has permission
    to access those ports or else anyone on the Internet can get into them.  I used the following
    rules for the Shorewall firewall:

    ACCEPT        net:###.###.###.###        $FW        udp        1900
    ACCEPT        net:###.###.###.###        $FW        tcp        7000

    In case you havent guessed, ###.###.###.### should be the IP address of your 360.

    Download and extract 360 Media Server to a directory of your choice.

    Now to get the server running issue ./start <IP ADDRESS> where <IP ADDRESS> is the IP
    address of the interface connected to the same network your 360 is on.

    Cnce its running you need to at LEAST configure the path to your music.
    Theres a primitive web interface to do that at http://127.0.0.1:7000/configure which you can
    use or alternatively just modify the configuration file yourself.  Unfortunately 127.0.0.1 seems
    to be hardcoded into the server so you HAVE to use the configuration page on the same
    machine its actually running on.  Alternatively, modify the configuration file yourself like
    the following but remember you will have to restart the server for the changes to be updated.
    Also be careful editing the config file while the server is running as it seems to keep a copy of
    the original configuration in RAM so if you then edit from the web interface you will lose all the
    changes you made manually.
    Its worth noting that if you use the web interface the changes kick in immediately without restarting
    but you still have the caching on the 360 to think about.  Usually coming completely out of the Music
    player then going back in is enough to refresh the tracks but NOT the streams.

    <Configuration>
            <FriendlyName>Server:1</FriendlyName>
            <PCMOutput>1</PCMOutput>
            <MusicDir>/home/storage/media/Audio/Britney Spears/</MusicDir>
            <Streams>
                    <Stream>
                            <Name>di.fm - House</Name>
                            <URL>http://scfire-nyk0l-2.stream.aol.com:80/stream/1007</URL>
                            <Type>0</Type>
                    </Stream>
                    <Stream>
                            <Name>di.fm - Chillout</Name>
                            <URL>http://scfire-nyk0l-2.stream.aol.com:80/stream/1035</URL>
                            <Type>0</Type>
                    </Stream>
            </Streams>
    </Configuration>

    FriendlyName is the name you want the server to show up as on the 360 followed by :1.

    PCMOutput means everything the 360 doesnt natively understand is transcoded to PCM.
    I dont see any reason NOT to do this you are on a LAN so why worry about 160K/sec of
    bandwidth?  Personally I would rather the server decode EVERYTHING to PCM as the 360
    MP3 codec is known to sometimes crash games if it hits on an MP3 it doesnt like.

    MusicDir, well I think I will let you figure that one out for yourself. ;-)

    Streams, now THIS is cool.  This is a list of Internet Radio streams that it will allow you to
    play on your 360.  The server will do the Shoutcast/Icecast streaming and will then output
    it to the 360 in a way it understands.  I have no idea HOW it does it, but it works brilliant.
    Something slightly less obvious at first, the streams are listed under "Saved Playlist".
    Name is pretty obvious but URL is worth noting.  The URL is the URL of the stream NOT
    the playlist.  So in order to get the URL you have to download the playlist file and copy/paste
    one of the stream URLs.

    That done, im able to stream di.fm and mp3s but for some reason so far im not getting FLAC listed
    probably because im not sure they have ID3/OGG tags or which of those the server expects.

    I have been streaming di.fm for 3 and a half hours now without any interruption even while I was
    playing Burnout Revenge and talking constantly to someone.  Not bad for Alpha software!

     
    • Jdogzilla
      Jdogzilla
      2007-01-10

      What does the <Type> attribute stand for?  What are the options there?

       
    • Ross Nye
      Ross Nye
      2007-12-14

      Great tutorial, but you left our the filename/path for the configuration file.

      I've hunted it down, and found its config.xml which you put in the same directory as the start script.

      For some reason I can't get the server to respond to my requests to change the content dir via my browser and editing the file was the only way to get it to work.

      thanks again, especially since I used you file above for the basis of mine, just changing the directory only

       
      • Alex Atkin UK
        Alex Atkin UK
        2007-12-14

        Sorry about the config filename, I never noticed I had missed that out. A good job its a fairly obvious filename.

        The web control panel only works if the browser is running on the same PC as the server.  You can access it from another PC but then when you try to click submit it will be trying to submit to the wrong PC because its hardcoded with the localhost IP address rather than the one you specified on the command line.

        I imagine its a simple fix but I have never been able to get a Java Development Environment setup so I can't go in and fix it.  A shame really, as it would be nice to tidy up the web interface page a bit.

        Its also worth mentioning that if you find any music is missing, check those tracks have ID3 tags.  Any track without a tag seems to be ignored and does not show up in the list.  If you have a Windows machine I find WinAMP is good at autotagging tracks including MP3 and FLAC files.

         
    • Barry Guidry
      Barry Guidry
      2009-05-31

      Sounds like a great concept, but I cannot see the server from Xbox 360.  I have it linked by ethernet, and used to share to it from Windows Media Player 11, so I know the Xbox settings are fine.  For one thing, I cannot find the config.xml file stated above.  Though, I don't imagine that has anything to do with Xbox not seeing the server, because I was able to set settings from the configuration link.  The instructions that are in the x360mediaserve package download state that it requires:

      lame.exe      -  mp3 encoder binary

      oggdec.exe or sox.exe (with ogg support)    -  ogg decoder (if you plan on using ogg support), can also use sox

      faad.exe      -  faad2 aac decoder binary

      flac.exe        -    flac decoder

      and for Linux

      install lame,faad,flac and sox where they will be found by a bash script

      run start

      Regarding this, what bash script could they be referring to, / .bash_profile possibly?  If so, where would one need to install/copy the above decoders for the bash script to see them?

       
    • Barry Guidry
      Barry Guidry
      2009-06-13

      Got it working for local MP3s, but can not get working for the streaming audio.  I guess the problem in the beginning that I had, above, was I have to add my IP Address of the server computer to the ./start command.  Anyway, for the streaming audio, I tried adding a couple of URLs manually, per the "config.xml" file, as well as the link to configure.  I can see the stream channels in the playlist section of Xbox 360, but cannot play (same problem had in the post above, but now only with the streams).  Watching the computer terminal, after opening the stream, and running many javascripts (it appears), I see a couple possible errors (below).
      [Code]
          at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:475)
      Caused by: java.net.SocketException: Broken pipe
      [/Code]
      and
      [Code]
      at org.mortbay.jetty.HttpGenerator.flushBuffers(HttpGenerator.java:778)
          ... 27 more
      org.mortbay.jetty.EofException
      [/Code]
      I am running JRE-1.6.0.13 on Fedora 10

       
      • Alex Atkin UK
        Alex Atkin UK
        2009-06-15

        What exactly did you put for the streams?  Please bear in mind that it does NOT support playlists. 

        When you click on a link on a website usually that links to a playlist containing a list of servers.  For it to work in x360mediaserve you have to save that file, open it in an editor and chose a specific server URL to use.  For example http://scfire-ntc-aa07.stream.aol.com:80/stream/1003 is the first server for di.fm trance.  Unfortunately if that server is full or down for some reason, you will be stuck.  So its probably a good idea to add several from the playlist under different names as I do not believe there is any way for it to have a list to try each one to see which is working.

        Unfortunately this is a limitation of how the streaming support was never completed in x360mediaserve.

         
    • Barry Guidry
      Barry Guidry
      2009-06-16

      Alex, you were right.  I added your sample stream to the configuration, and was able to play it through the Xbox 360.  I don't know what I did different this time, but can also play streams that I previously couldn't get to work, for example Atrem's NAS Radio (http://82.95.93.127:8000/ices).  Awesome!!!! - Thanks

       
  • Barry Guidry
    Barry Guidry
    2009-12-14

    Oh, I think the reason many have had with not seeing the "config.xml" file, in the main directory of x360mediaserve, is because you first have to start it, configure it at the web interface http://127.0.0.1:7000/configure.  Once you first configure something via the web interface, the "config.xml" file will be created, within the same directory you are running ./start from.

     
  • Barry Guidry
    Barry Guidry
    2009-12-15

    Also, in regards to jdogzilla's question, the "Type" attribute references the selection for the playlist (MP3, WMA, Generic), likely related in the config.xml as "0", "1", or "2" I would guess, as the MP3 selection is definitely represented by a "0" here.