How to make your own DIY Chromecast

diy chromecast

Back in the 1992 hit movie Sneakers, Ben Kingsley’s character Cosmo somewhat prophetically tells Robert Redford that future power is all about the information, ‘little ones and zeros, little bits of data’. Today, those little ones and zeroes may well be king but we’re equally interested in finding new ways to fling them around our homes, networks and the internet. Chromecast is Google’s attempt at delivering a low-cost remote streaming dongle and it’s now available in Australia.

It’s certainly not the only way to go about it, though – last month, we looked at how you stream Netflix in Australia via your Android phone and even stream it wirelessly to your TV using Miracast, all without a Chromecast dongle in sight. But if you have a sizeable investment in your own content library and prefer an option to handle your own movies and music, we’ll show you how any Android device can become a Chromecast clone.

DIAL-a-protocol

gs2-1The Chromecast dongle is a single-core ARM-class Wi-Fi-ready mini PC running a cut-down version of Chrome OS and uses a new network discovery protocol called DIAL (DIscovery And Launch).

Co-developed by Netflix and YouTube with input from Sony and Samsung, the protocol is said to make it much easier to launch ‘second-screen’ apps or apps that reside on one device but are launched and displayed on a second. The key to DIAL is that it’s open-source and is touted as being a serious competitor to Apple’s proprietary AirPlay system.

But the reality is, it becomes yet another media protocol trying to get traction in the market – apart from DIAL and AirPlay, you also have DLNA from the industry group, the Digital Living Network Alliance. They’re all variations on the theme that is universal plug ‘n’ play (UPnP), the original protocol designed to get PCs, network devices and media players able to see each other and recognise each other’s abilities.

The DLNA protocol has gained a reputation for being a bit fickle, particularly when it comes to the audio/video codec support you can expect between devices. While that can be true of function-limited home entertainment gear, there’s some extra wriggle room when it comes to more intelligent devices like mini PCs, tablets and phones.

upnp-4DLNA has been around for a long time now and it has support in a wide variety of devices from Windows PCs to Xbox gaming consoles to network media players such as Western Digital’s WDTV series. But there are various UPnP tools and libraries also available for Android and with the right apps, you can get any Android-powered device to work like Chromecast with your own content.

What you need

With Chromecast, the two key parts are the dongle and the controlling app. In making your own Chromecast-lookalike, the recipe grows to three ingredients – the device connected to your telly replacing the Chromecast dongle, the controlling app and a DLNA-ready network server holding your content library. In DLNA-speak, you call these the renderer, the controller and the server or library, respectively.

One Android DLNA app we’ve recommended in the past is BubbleUPnP as a great way of viewing your media library directly on your phone or tablet without having to load it on beforehand. However, it turns out to also be a pretty decent option for Chromecast-style remote viewing and controlling. BubbleUPnP is both a renderer and controller, at least in terms of audio, but it’s smart enough to offload video rendering to more capable video apps and that gives you considerable versatility in how you build your Chromecast-like setup.

upnp-2Mix & match

Apart from rendering and controlling, BubbleUPnP also has a separate server component, giving you the trifecta and allowing you to create your own perfect home media setup with the one app family. But DLNA is a fairly broad church when it comes to controller capabilities, not only casting rendering jobs to other DLNA apps, including itself, but other devices such as the WDTV range.

We’ve spent a fair amount of time this month trying out various combinations, mixing and matching different devices with a range of apps, all controlled by various Android phones. The results are surprisingly good, good enough that with just a few dollars in app purchases at most, you likely already have everything you need to get your own Chromecast-like setup off and running. Here are just three of the successful combinations we tried:

Setup 1

Controller: BubbleUPnP on Samsung Galaxy S III
Renderer: Western Digital WD TV Live
Server: BubbleUPnP on Windows 8 PC

plexThe first step in any Chromecast-like build is to setup your server, which in this case, we did on a Windows PC. We used the BubbleUPnP server app, available free. Download it, install it – you’ll also need the Java runtime engine (JRE) but it should automatically install it for you.

Once the installer finishes, the server should be up and running and launching its own browser-based config page. If it doesn’t, you’ll find it at http://localhost:58050. You’ll need to open it up, choose the Media Servers tab and click on both checkboxes – without the second ‘Create a proxy Media Server on this LAN’, you’ll likely get ‘access denied’ errors on your controlling device.

Next, install BubbleUPnP from Google Play on your Android device. Launch the app and you’ll see the basic menu on the bottom. Tap Devices and you’ll get a list of Renderers and Libraries. Provided your WDTV Live is already powered up and network-connected, you should see it on the top Renderers list – tap the radio button next to it. The Libraries list at the bottom will show up the available DLNA servers. Tap the radiobutton next to your PC proxy entry.

upnp-1With that done, tap on the Library button on the bottom row and you should quickly get a menu list of your music, photos and movies. The good thing about the WDTV Live is that it plays just about everything, so you shouldn’t have too many issues with audio/video codec support.

Tap through the folders, make your select, press the menu button and create your own playlists if you wish. When the file starts playing, you can control it by pressing the ‘now playing’ button on the bottom row of the BubbleUPnP app. Use the timeline to scrub through the file, the buttons to pause, stop or go onto the next track/file.

Setup 2

Controller: BubbleUPnP on Samsung Galaxy S II
Renderer: BubbleUPnP on Samsung Galaxy S III
Server: Plex Media Server on Windows PC

mh-1The Galaxy S III smartphone has been a huge success for Samsung and even though it’s now a bit long in the tooth, it’s still being sold by at least one local carrier on new budget contracts. With Samsung’s own quad-core Exynos 4412 processor on board, there’s more than enough horsepower to render any 1080p video content.

Using BubbleUPnP as its own renderer is fine for audio, but you need to install a good video player for your movie collection – the app we recommend is MX Player. It’s free from Google Play and handles a decent array of codec options by default. Anything it can’t handle can be supplemented by the ARMv7 Codec Pack, also free from Google Play.

What made this setup more interesting was the cross-pollination we achieved between BubbleUPnP and the popular Plex media server. Plex gives away the server free but charges $5 or so for the Android app, but you can save your money and use BubbleUPnP instead. We had no trouble getting the app working with the Plex server on music but it proved a little sluggish handling video – it worked, but slowly.

With Galaxy S III automatically routed to use its AllShare Cast/Miracast output, we had a fully wireless solution displaying audio and video to our Netgear PTV3000 Miracast dongle. (Of course, you could use the Galaxy S III as its own controller – we used the Galaxy S II here just to show that this can be done too).

The first time you use BubbleUPnP as a renderer, you may need to manually set it so that it knows to use MX Player to play the videos. Just go into BubbleUPnP’s menu on the Renderer device, select Settings and ‘Local Renderer’. Scroll down and make sure ‘Launch default player’ is selected, restart and you should be as right as rain.

Setup 3

Controller: MediaHouse on Samsung Galaxy S III

Renderer: BubbleUPnP on Toshiba AT1S0 7-inch tablet

Server: Windows Media Player on Windows 8 PC

wmp-2It’s a fact that many people… okay, some people are happy to use Windows Media Player as DLNA server. If you’re the happy owner of an Xbox 360 or Xbox One gaming console, it’s relatively trivial getting them to play your content – provided of course it’s encoded with MPEG-1/2/4 or WMV7/8/9 codecs.

But you can tap into that content with other DLNA-ready devices, including your Android smartphone and tablet. BubbleUPnP is a bit of a ‘jack of all trades’ in this area, but it’s not the only option – we decided to give MediaHouse a run (free on Google Play) to see if we could get it to send content from WMP on a Windows 8 PC to BubbleUPnP on my first Android tablet, a now-ageing Toshiba AT1S0 with a dual Nvidia Tegra 2 processor.

Rather than ‘renderers’ and ‘libraries’, MediaHouse uses the rather more intuitive ‘play from’ and ‘play to’ – and it works a treat.

The AT1S0 was one of the first 7-inch tablets on the market and although it did have some goofy features (like the huge power connector that didn’t include USB connectivity and very ordinary speakers), it did come with a microHDMI port, making it dead-easy to connect up to a big-screen TV. The AT1S0 also highlights that you don’t need the latest Android gear to make this work – it came with Honeycomb/Android 3.2 but now has an Ice Cream Sandwich/4.0.4 update. That said, the majority of apps we’ve looked at are happy with Éclair/2.1.

One tip – you may find that due to Windows security, you’ll need to allow access to various external DLNA controllers before you’ll get access to any WMP content. Launch WMP12, press the down-arrow next to Stream under the top menu and click on ‘More streaming options’. You’ll now see a list of DLNA-ready apps on your network – just check the box against the ones from your devices. Click Next to check which media folders are shared, click Next again, ignore the passcode (that’s for Windows Homegroups) and click the Finish button.

Try them out

wmp-1Bottom line, there are any number of ways to build Chromecast-like functionality into your media setup and the great thing is, many of those options are free, or can use your existing gear – or both.

We think BubbleUPnP is good enough to do the whole job – control, render and servering. But throw in MediaHouse, Windows Media Player, Plex, WDTV Live and there’s no real script – you can make it up as you go along. And that means you’re not locked into anything and have full control over how your setup works.

But really, if you’re not driving your home entertainment remotely from your Android smartphone or tablet, you’re not trying hard enough!

Basically, anything that can run an ARM-class CPU and Android should be useable as a Chromecast-like DLNA rendering device, so if you have a mini PC such as an MK802 or MK808 device, it’d be definitely worth giving it a go. Just for a laugh, we tried a cheap 7-inch A13MID tablet we bought off eBay a couple of years ago – you can still find them for well under $50.

With a 1.2GHz single-core CPU, we expected it to handle music; we weren’t so confident about video. But we had DVD-resolution video MPEG-4 video streaming to it using Setup #3 and playing perfectly – no obvious dropped frames and audio in sync. The key is using MPEG-4 video hardware acceleration – it’s built into virtually all Android-powered CPUs.

 

  • nice question if any body know please share with us.

  • gm

    Nice! Thanks for sharing. One thing though, how did you connect your Galaxy S3 to you HDTV? Do I need a special cable for that?
    One more thing, will my old Galaxy S2 work as a renderer also? or is it to old?
    Thanks again!

  • No, the S2 isn’t too old – should handle SD content just fine. Might be an each-way bet with HD content though.
    For the S3, you need an 11-to-6 pin MHL adapter. For the S2, just a a straight MHL adapter.

    Cheers,
    Darren.