Subsonic – Stream the music and video on your home PC anywhere, for free!
Entertainment on the go is an interesting problem. Everyone has tons of music and video, either stored locally on their home computers or in the cloud, or some combination thereof. If you have it locally stored, and you want to enjoy it on the go, you probably have an iPod or some other Apple product with finite storage, and you have to choose which content gets to come with you and which ones have to stay home. How sad.
If you have it in some sort of public cloud, like Apple’s iCloud, Amazon’s cloud storage, or god forbid Microsoft Skydrive, you can have as much music as you want – with a few catches. For one, storage beyond a few gigabytes is generally not free. Second, you may be forced to use proprietary players (I’m looking at you Apple). Last, and a lot of people don’t know this, but the cloud service might technically own the rights to whatever you upload (like Google Drive). So, if you and your killer local metal band upload your songs, they could steal your music, copyright, and sell it. Not cool bro.
For those of you out there who keep a computer running 24/7 anyways, and are willing to commit 30-60 minutes of work, I have the ideal solution for you. Enter Subsonic. Subsonic is a web based, open source media server that is written in Java. Because it is written in Java, it can be run on almost any operating system (just needs Java support). You can stream music and video in almost any format to almost any device. Because you can access it through the web, you can enjoy your content anywhere, on any computer with an internet connection. There are also native apps for Android, iOS, and Windows Mobile devices. It’s also ultra-easy to install, especially for Windows users. The software itself is free, but if you want to enjoy your media through your mobile device, there is a one time minimum donation requirement of 10 Euros for a license.
Installation and Configuration – Windows
Since I’ve already installed Subsonic on my main OS, I’ll be installing Subsonic on a virtual machine running Windows XP.
- Download the software dude.
- Run the program dude – in Windows, it will be a .exe (executable). If you don’t already have Java 6 installed, the executable will notify you and give you the option to install it. You must install it for Subsonic to work.
- Click Next on the first screen of the installer to get started. The default install location (C:\Program Files\Subsonic) is perfectly fine, but feel free to choose a different directory. Click Install. Once installation is finished, go ahead and click finish.
- In the notification tray (bottom right of your screen, normally), there’ll be a new icon of what looks like headphones on a green background. Right click the icon and select “Subsonic Control Panel”You’ll see right away that Subsonic is already running. Subsonic is installed as a service in Windows, so it can run without having an active program/window associated with it. You can start and stop the service from here if needed. You’ll also see the server address. Click the Settings tab.Here you can set the port that Subsonic will be “listening” on. Default is port 80, which is the default port for all HTTP (web) traffic. Now, if you are running this on your home computer, your internet service provider may block port 80, making Subsonic useless outside of your home network. But fear not, you’re now a 1337 hacker, and you’re not going to let the man keep you down. You’re smart enough to know that ports are largely arbitrary, so long as both parties know which port to use! All you need to do is choose any number, but make sure it’s fairly large number but lower than 65535. The reason is that a lot of ports are needed by other applications or services, and you can’t have two services bind to the same IP. So, to avoid causing new issues, you want to use a port that is not already in use. Most applications/services use smaller port numbers, hence the need to choose a higher port number. Something between 30000 and 65535 will work great – just write it down or remember it for later. For this demonstration, I’ll use port 33333. You can also assign more memory to the service if you wish, and don’t bother changing the context path unless you have a good reason. Click Save settings; you’ll get a pop-up telling you that you have to restart Subsonic for the settings to take effect. Just go back to the status tab, hit Stop, then after a few seconds, hit Start. You should see the server address change in the bottom, with your new port assigned!
- We’ve got the fundamentals done. Go ahead and click on the Server address (http://localhost:33333 in my case). It should open a new browser window for you. Login with the username and password of ‘admin’ – you’re now accessing your Subsonic media server. But we’re not quite finished mon frere. First, change the admin account password. Click “Change Administrator Password” Click the “Change password” checkbox, then provide your new password. You can also assign an email to the Admin account, which may come in handy if you plan to have other people access your Subsonic instance. That way they can get in contact with you if something is broken. Hit Save.
- Click on Media Folders at the top. You should get redirected to the log on screen, where you should provide your username (admin) and whatever your new password is. You’ll be greeted by the same 1-2-3 Welcome Screen. Click “Set Up Media Folders”Here you’ll need to provide a path to your music folder. There’s no wizard or browser for this step, so just go find your music directory in windows, copy the path out of the Windows Explorer, and paste it into the Folder field. In my example, I’m using the Sample Music folder that comes standard with Windows XP (C:\Documents and Settings\All Users\Documents\My Music\Sample Music). Make sure the box under “Enabled” is checked, and hit Save. You should immediately see your media listed on the left side of the page (you can see Symphony… and “Highway…” in my screenshot). Add as many music and video folders as you want! Click Home when you’re done
- Aaaand you’ve been redirected to the familiar 1-2-3 Welcome page again. Go ahead and click “Configure network settings” So, there’s good news and bad news. Subsonic offers a DNS service, so you can click the second check box that says “Access your server with an easy to remember name” or something to that effect. This is a really cool service, however it never works for me (probably because I’m behind an old junky router, and it can’t be told to automatically NAT). Second piece of good/bad news is that Subsonic can try to configure your router to do port forwarding for you, but again, due to my junky old router, this never works. But fear not – those two checkboxes are for scriptkiddies and beginners, and you’re 1337 now remember? So configure your router to do the port forwarding yourself! check out portforward.com to get started. (I will also be doing a port forwarding tutorial, but not until I gets my new router :]).
- Once you’re done with your network configuration, click Home again. Ahhh, it’s that damn 1-2-3 welcome page again. We don’t need it anymore – scroll down and click “Don’t show me this again”
- You’re 95% complete… and you still don’t have a way to access it outside of your home network! There are a few methods: buy a DNS name (like http://www.joesmithsradio.com), register for a free DNS name with DynamicDNS (like joesmithsradio.dynamicdns.com), or you can use your router’s IP address (since most internet service providers don’t flush IPs very frequently, you can get by doing this for a long time). I’ll have to create some more tutorials to expand on those options, but Google it and you folks will figure it out I’m sure.
- Donzeo my friends. If you got a DNS name, just browse to http://www.yourdomain.com:yourportnumber. If you didn’t get DNS figured out yet, just type the IP address, a colon, and the port in your browser like this: 172.24.18.210:33333. Either one should work interchangeably.
That’s it! That’s your barebones install and configuration of Subsonic. Don’t forget to donate to the Subsonic project (because it’s a nice way to say thanks, plus you get a license that allows you to do even more!). Couple other nice-to-know features of Subsonic
- You can create a random playlist – go to “More” and choose how many songs, which genres, etc, and hit OK.
- You can always add/remove users. Just go to “Settings” and click on Users. Best part? Users can download music, upload music, or just listen. The permissions are very easy to understand and are very powerful.
- Subsonic has several different themes – just go to Settings, Personal, then change the theme and hit Save!
As always, I hope this was helpful. Please feel free to post comments or questions.