Lessons Learned: Setting up TVHeadend for live TV streaming in Malta

I recently had the opportunity of setting up a system which captures free-to-air channels and streams them over IP for use by TV set-top boxes such as RaspBMC (or plain old XBMC). We decided on using the excellent TVHeadend. The system was made up of two components:

  • A TVHeadend server. This was simply a desktop PC that had ubuntu installed on it. Then, tvheadend was installed from packages using the following guide: https://tvheadend.org/projects/tvheadend/wiki/AptRepository
  • A TVHeadend client. We used the TVheadend client plugin that comes with RaspBMC / XBMC

There were a couple f peculiarities in our setup which i’d like to list here for my future reference.

  • We bought a TBS6285 DVB tuner card, which while it worked in linux, needed driver compilation from source (never ideal because as soon as you update the kernel, you need to recompile). The instructions that worked best for me are here: http://linuxtv.org/wiki/index.php/TBS6285
  • Malta is not listed as one of the DVB locations in TVHeadend. Using Italy’s IT_ALL works just fine
    Selection_011
  • There is lots of advice on the ‘net about the proper DVB adapter configuration. The below worked for me. Of special note is the selection of “close device handle when idle“. The TBS6285 has a habit of not properly closing it’s device descriptor handle, so after some time (approx 24 hours), attempting to access a TV stream would result in the TVHeadend client showing “no input detected“. After some digging around in the logs, I found that in such TVheadend complains of not having the proper file/device descriptor, leading me to enable this option – and solving the issue

Selection_012

A huge shoutout and congrats go to the developers and maintainers of TVheadend, XBMC, raspBMC and TVHeadend clients, without which this would definitely not have been possible

Below is a video of the setup working:


References: