Sunday, 13 December 2015

The Media Project - Progress Report

I'm obviously getting soft.  It's been raining solidly today and I haven't ventured off Waiouru, electing to stay inside all warm and dry.  

If I'm bored, then so will you be if you decide to read this episode of my media centre project.

The Media Project

I've reached a point where a major decision is required which affects both software and hardware.  The central issue resolves around 'transcoding' the data I intend to stream on the network.  So what is 'transcoding'?  Our video, audio and photo files will be stored on a central computer (Network Access Server [NAS]) at a high resolution.  Whilst a HDTV will have no problem displaying images of this size other devices (clients) on the network will not have the necessary computing power to display the data.  There are two options:
  1.      .   Increase the power at the client end; or
  2.        Have the NAS transcode (ie, convert) the data to a size and format that the client can accept.

It's very had to increase the computing power of a tablet or smartphone so the transcoding needs to be done at the server end.  But doing this raises two issues.
  1. The required computing power of a standard NAS doesn't have to be large.  All it is doing is reading and writing data to a bank of hard drives.  Moreover a NAS usually runs 24/7 so if you are wanting to save money you only want a simple and low power computer.  However transcoding requires a very powerful computer, particularly if it is going to support multiple clients simultaneously.  A powerful computer running 24/7 will have significant operating costs.
  2.  Sourcing free public domain software that can transcode on a central computer is proving to be difficult.  The most popular media player is Kodi and it transcodes at the client end.

The transcoding problem became very apparent last night when I was watching a 17Gb Blue-Ray film on my tablet.  The film would pause every 20-30 seconds to allow the tablet to process and display the data.  This is why the transcoding will have to be done at the server end of the network.

I did wonder how the server would know when a client required transcoded data and to what format.  After more reading I believe what happens is when a client joins a network it sends a small "handshake" packet of data which tells the other end what it is.  This explains how a website knows to format the page differently for each device (eg, re-size the page).

Eventually I came upon what I thought was a solution.  There's a program named Plex which has both a client and server end.  It transcodes the data at the server and the sends the modified data across the network to the client in the correct format.  The problem is a license must be purchased to use Plex across the internet.  I'm trying to complete this project as cheaply as possible!

I think I have stumbled upon a freeware solution.  The Network Access Server (NAS) will use Ubuntu Server and the transcoding on the server will be done by Emby.  The clients will use Kodi.  At this time the only potential issue with this selection of software is Jan's iPad.  Apple currently doesn't allow Kodi to be installed on its operating systems.  I will need to circumvent the Apple security to install Kodi on her iPad.  That's not impossible!  

So it looks like I have settled on the network software.  Now I need to consider the hardware.


Ade said...

Hi Tom like it some good info/research that I may find useful. I'm watching these posts on the media server with particular interest. I guess the only note of caution is not to jailbreak the iPad until it's out of warranty. Which guessing without looking would be a year. As I assume that it would invalidate the warranty.


Tom and Jan said...

Yes Ade, you void the warranty if you jailbreak the iOS. But Jan's iPad is now more than a year old.