The Best Media Server I've Ever Used

The Best Media Server I've Ever Used

Often we struggle deciding what to do with our old phones and tablets. Trade-in values of these ever-quickening obsolete piles of silicon, lithium, and glass continue to drop as new devices flood the market every six-to-nine months. Today I'll talk about how I've repurposed an old Android tablet into the best media server I've ever used.

Ingredients

These are just the components I have used. In such an open ecosystem, many components can be omitted or swapped out for an alternative.

  1. Samsung Galaxy Note 8.0 I wrote about this guy in a previous article. Any recent (Ice Cream Sandwich or up[1]) Android device will work just fine in this case. Since my Note 8.0 only has 9.24 GB of 16 GB free out of the box, I've added a 64 GB micro SD card into the mix.

  2. Chromecast Probably the best piece of technology released in 2014. This tiny HDMI dongle plugs into any HDMI-capable display and turns it into a streaming powerhouse. I use a Chromecast plugged into a television to stream all media from the media server.

Instead of a Chromecast, you can use an Android TV, some DLNA compatible devices, Apple TV, or just plug your Android device into your television using HDMI or MHL.

  1. LocalCast (free) This is what actually slings the media from your Android device to your streaming device (see #2). This application is very actively developed and the developer is great at responding to feedback and implementing features. Check out the LocalCast community on Google+.

  2. Flud (free) Gets my seal of approval for the best, and most beautiful torrent client on Android. This developer is also quick to implement features and fix bugs that are reported. He actually implemented a feature I requested that is essential for this media server!

You can alternatively use any other torrent client with RSS[1:1] functionality.

  1. showRSS Register for a free account here. This is how we'll be telling our media server what to download for our watching pleasure.

Configuring showRSS

We will tackle this step first since the feed URL is important for configuring our hardware components. After registering and logging in, click your shows and start building your list. You can use the wrench icon next to a show's name to pick the quality and whether or not to include repacks.

Select your shows

After your list is built, click the feeds button and generate your personal feed. You'll end up with something like this.

Feed has been generated

My feed URL is http://showrss.info/rss.php?user_id=242928&hd=null&proper=null. Yours will look very similar with only the user_id property changed. Hang onto this URL as we'll need to enter it into Flud once we get around to configuring it.

Preparing your android device

Go ahead and download Flud and LocalCast from the Play Store. Both these applications are free, but offer paid options for removing ads. I ended up using the in-app purchase within LocalCast to remove ads, but since Flud is never really in the foreground, I left the ad-supported version intact.

Launch Flud, press the Feeds button in the action bar, press Add Feed and fill in the feed details. Paste the custom feed you generated on showRSS into the Link to RSS feed field. Make sure you check the box that tells Flud to automatically download torrents from this feed. Your configuration should look like this:

Flud configuration

We can ignore regular expressions since we already have showRSS customizing our feed. If you have an SD card inserted, you'll probably want to configure your download / storage directories in the Flud storage settings. I have mine set to download to onboard memory before moving the files to the SD card for storage / seeding.

Flud storage

Your first stream

Your shows should now start downloading. While Flud is working away, launch LocalCast and take a look around. You can press the Floating Action Button to connect to your Chromecast, or other streaming device (see #2 in the list of ingredients).

LocalCast device selection

You can then browse your device's storage and select the media you would like to stream! After watching a show, you can delete the torrent to free up space on your internal or external storage. I suggest you keep an eye on the number of completed torrents as the space taken can add up quite fast.

Further reading

Before you start trying to cast old media encoded using strange codecs (like RM, XVID, DiVX), you should keep in mind that most streaming devices support only a small handful of media formats. The Chromecast, for example, prefers media in mp4 containers with h264 video encoding[1:2].

Using an old Android device as your media server will use much less electricity than a laptop or desktop machine that runs 24/7. With the screen off, my Galaxy Note 8.0 can run for about 24 hours on battery while seeding and downloading. Any of my computers with much larger batteries will last a maximum of 12 hours. Portability is also a plus- tossing my tablet and Chromecast into my backpack and carrying it around is very easy (try that with your desktop media server).

If your internet package has limited bandwidth, you may want to set an upload speed limit in Flud's Bandwidth settings. Although limiting your upload speed can hurt the swarm, keeping within your allocated 50 GB to 100 GB may be more important.

If you live in a country where using torrents is very dangerous (like Japan[1:3]), you can utilize a VPN service. TorrentFreak publishes a trusted list of VPN providers every year. Here is the list published for 2014. VPNs will run you a couple of bucks each month, but will protect you against copyright claims.

SD card access is very slow. If you try seeding multiple torrents from the SD card, you'll find speeds will rise and fall dramatically. I believe this is due to the inability to rapidly read from different parts of the SD card. It seems like there's some buffer that can fill up, seed to a peer, but has trouble dumping and filling up again. If you set your download directory to the SD card instead of onboard memory, your download speeds will also be affected. I highly recommend seeding and downloading from different storage mediums, or only using internal storage as it is much faster than external storage.



  1. Downloading in Japan is no good these days ↩︎ ↩︎ ↩︎ ↩︎