To do this you’ll need:
Hardware: You’ll need something to serve the files from. This can be a lowly NAS box or a more substantial system if you want to make use of full transcoding though many formats play directly.
Software: A DLNA server of some description would be useful. We’re going to use Serviio because it’s one of the more reliable options though Windows Media Player or Plex are both perfectly workable.
You might not want a smart TV in your home but at some point you’re probably going to own one just like you’re going to own a 3D TV. These sort of features are fast becoming standard. Take the Panasonic 2012 lineup of 22 models for example. Of these models only five lack any connected ‘smart’ features.
But what’s so smart about these new televisions? It’s happened very quickly but TVs are now hooking into home networks. Using the DLNA standard they’re more than prepared to talk to anything else that’s on the same network.
This has the potential for some interesting uses such as wirelessly streaming a video you’ve taken on your mobile phone to your smart TV. Well perhaps that’s the most interesting one but it also means you can easily share media stored on any PC with not just your TV but any DLNA device. Your phone tablet and other media streaming devices will all happily work together as they’re capturing DLNA-ready content and pushing it to other DLNA-ready devices.
It’s when you throw our old friend the PC into the equation that it gets complicated. The PC’s endless versatility and longevity mean you’re likely to have videos and music lying around stored in codecs that haven’t seen the light of day since last millennium.
What you need is an intermediary software service that turns your computer into an all-singing all-video serving DLNA-compliant device that your smart TV (and anything else for that matter) can see and play from over your network.
For this project we’re going to use the Serviio media server. It’s more complex than other options but as far as we’re concerned it’s the most accomplished free DLNA server out there. It’s certainly not the only option though. You can use the Windows Media Player-based UPnP/DLNA streaming but it tends to be picky about what it wants to share and presents those files to connected devices as a huge unsorted list. We’ve also recommended Plex in the past but although it does a good job as a DLNA server we’ve run into transcoding issues and Serviio offers internet feeds that Plex doesn’t.
That last point is an interesting one if not an entirely solid feature. Serviio has a flexible plug-in system that lets you add online streams sources and other online on-demand video and audio services into the DLNA environment. It’s a clever system because it means any DLNA device can now access the likes of ABC iview PLUS7 YouTube and more even if they can’t access the web pages originally or lack a suitable app.
We say it’s not entirely solid because it depends on there being a set ‘feed’ web page – either an RSS/Atom feed or a web page that catalogues the feeds for a series or channel. Serviio then uses the plug-in to parse the feed or page and generate the standard DLNA-compatible list of media. The problem is the system breaks if the original feed or web page changes which happens more often than you’d think. For example one issue we encountered recently was due to one of the TV sites switching to capitalised program names – a subtle change but one that was big enough to break the plug-in completely. You have to remember that it’s not entirely stable in that respect.
There may be an additional option available from your television manufacturer which may provide DLNA server software. Not all do but Samsung does with its AllShare system while LG MediaLink ties into Plex. It also seems that Sony has recently launched a tool of its own called Homestream though oddly enough this is just Serviio with new icons.
DLNA has gained traction over UPnP because it’s a targeted subset of UPnP specifying a small range of supported media formats rather than the open-ended specification of UPnP. This leaves it as more of a transport and communication protocol for DLNA to ride on. The various formats it supports breaks down into the following categories:
- Image: JPEG PNG
- Audio: AC-3 AMR ATRAC3 LPCM MP3 MPEG-4 WMA Video: MPEG 1 MPEG-2 MPEG-4 p2 (DivX) MPEG-4 p10 (H.264) WMV9.
- Containers: MPEG PS/TS MP4 ASF (for video)
You’ll notice there are no ancient formats in the list such as AVI MKV or even VC-1/WMV10 support. Any file not supported has to be remixed into a supported container in the best case and in the worst case re-encoded and remixed; in other words transcoded to a supported format and container. So if you’ve tried UPnP servers in the past and failed to get them to play nicely with your smart TV this is the likely reason. That’s where Serviio or a similar service comes in to fill the gap and provide a beautiful media world to live in.
Nothing is ever easy and with DLNA especially so. Most PC-based DLNA servers provide a profile system. Why? It seems that despite the standard every DLNA device has slightly different specifications for the type of video/audio they’ll take as well as being fussy about the resolution and/or the stream’s bit rate. In the case of computer-based devices such as the Xbox 360 PS3 tablets and PCs these profiles are more complex because some only take specific containers and formats. The Xbox is WMV the iPad only likes MOV and the PS3 is after MP4. These most common devices will already have a profile in the ‘Program Files > Serviio > Config > profiles.xml’ file which you can edit with a text editor to update for new devices or TVs. Some devices such as the iPad have specific issues because they only accept MOV or MPEG-TS files which can’t be re-encoded on the fly. You therefore need a custom app to support alternate DLNA-friendly files which then have to use the CPU for decoding.
A smart start
Getting your not-so-smart TV operational.
Step 1: Not another firmware
Now that TVs are as smart as your PC there’s another device in the home with firmware for you to update alongside its built-in software and upgradeable online content. It’s well worth doing though because newer firmware can add up-to-date codec support. You’ll need a USB stick for the download from the support site.
Step 2: Home Server or not
We’ll be looking at the standard Windows install of Serviio but just so you know those clever guys have produced a Windows Home Server add-in for all versions up to 2011. This provides a ‘Serviio’ tab as part of your main Windows Home Server dashboard. To grab this version just browse to serviiowhs.codeplex.com and download it from there.
Step 3: NAS & tablets
Serviio is very clever. Alongside Windows Mac and Linux support it can also be installed onto a number of NAS devices such as the Western Digital My Book Live and D-Link DNS-320/5. To find out how check the wiki.serviio.org web page. There’s also a free Android app called ServiiDroid which provides remote management of your local Serviio server.
Serving up DLNA
Get media streaming up and running.
Step 1: Get up & Running
Download and install the latest build from www.serviio.org via the ‘Download’ tab. Since Serviio is a Linux-based open-source development it’s a service foremost and an interface second. Thankfully there’s a GUI console available from the ‘Start’ menu and the notification area. This will provide all the main controls along with feedback on connected clients.
Step 2: Adding media
Click the ‘Library’ tab – this is the main area to add media you want to share. Two columns indicate whether Serviio should attempt to scrape metadata for videos or if it should automatically update the library with newly detected files. Just click ‘Add local’ to add folders of your stored media and state if (and how often) it should re-scan these.
Step 3: Metadata scrapings
Serviio will pass thumbnails to your DLNA devices to give you a prettier interface. It’ll also use various online sources to try and scrape film and TV metadata and serve this up as well. There’s an option to use your own XBMC-formatted .NFO files from XBMC itself or a standalone scraper like www.mikinho.com/yammm or www.mediacentermaster.com.
Step 4: Transcoding
Take a look at the ‘Transcoding’ tab. You’ll want to make sure the right number of cores are allocated to the job. On a quad-core CPU for example you may only want to allocate two. We suggest keeping the original audio because most devices can handle most default streams. We found that even a lowly 1.5GHz AMD Turion II could manage 720p HD media.
Step 5: Stream away
At this point you can happily give your new DLNA server a spin. The majority of files should play just fine with transcoding including MKV. Subtitles don’t work unless they’re embedded in the original file and are supported by the target device. Fast-forward and rewind should work but transcoding can limit the range.
Step 6: Troubleshooting
If you run into problems make sure your device is marked green and is using the correct profile. If not try a generic one. If this doesn’t help check the forum for user-created profiles. If some files play and you’re trying an .AVI file it’s likely it’s using variable bit rate audio – try using VirtualDub and re-save the file with Direct Stream for both streams to remove this.
Adding extra services
Online streaming services are just a plug-in away.
Step 1: Installing plug-ins
The online resource plug-ins are an ongoing development. If you head to forum.serviio.org and check out the ‘Available Plugins’ forum you’ll find links to the latest builds for the likes of the BBC iPlayer and YouTube. These are .GROOVY files and need to be copied into the ‘Program files > Serviio > Plugins’ folder.
Step 2: Adding feeds
Those .GROOVY files tell Serviio how to decode the various web pages or RSS feeds to DLNA-friendly output. You’ll find suggestions for feeds and pages in the same thread as the plug-in. To add one select ‘Library > Online sources’ then click ‘Add > RSS feed’. Enter feeds.bbc.co.uk/iplayer/highlights/tv give it a display name and click ‘Add’.
Step 3: Web resources
If someone is suggesting a web page that lists a series of episodes then this is likely a ‘Web Resource’ option. If these work correctly on your smart TV they’ll be found under the ‘Online’ entry in the ‘Serviio’ menu. You should be able to pause and rewind.
Step 4: Error checking
The log file is hidden in the ‘Program files > Serviio > Logs’ folder. This provides detailed debug information so if a file fails to play this should be your first port of call. Check for 404 or 500 errors as these will indicate an issue connecting to the web server. Try temporarily disabling any IP filters or firewalls and then check any URLs before retrying them on the TV.
Smart enough TV
The real issue with smart TVs is that they’re not quite smart enough. Thankfully a PC will unlock almost all of your home video audio and picture content. We certainly didn’t have issues with any of our modern 720p HD content playing from our low-power HP ProLiant server. Upping this to 1080p caused regular shudders as the CPU bobbed along above the 90% mark. We found that MKVs worked fine but .AVI files tended to be hit and miss; the issue related to variable bit rate audio with no current built-in fix.
We had a much better time with streaming services. These take more work to implement – it requires integrating individual channels or series but are useful if you know you’re going to watch something regularly. These are fetched over the web so keep in mind that any IP filters firewalls or other blocks will still apply to these streams. If they don’t work immediately go through the error logs to see what’s reported. A standard 404 or 500 error implies the site is being blocked somewhere along the way.
A highly experienced technology writer and editor Neil contributes to a plethora of magazines and web sites. Special interests include reviewing new tech and the latest entertainment gadgets.