Editor's Note: In our continuing series on Home Theater Personal Computers (HTPCs), PCLinuxOS forum member Only16 offers up his take on what a HTPC means … and must accomplish, for him. This illustrates that what comprises a HTPC for one person may differ for someone else. Your needs and desires are going to drive what you think or feel a HTPC should be capable of doing.
My HTPC journey started several years ago, and it has been tuned and tweaked several times since.
First of all, it needs to be said that a Home Theatre PC in my home is useless without full Live Broadcast TV available, plus all the functions one would normally associate with Live TV, such as Time-Shift and Recording and Playback, etc. For my use, I am only interested in Free To Air broadcasts from Satellite and Terrestrial providers (DVB-S & DVB-T).
At my location, I have in excess of 2,500 'channels' on air. A lot of them are duplicates, and quite a number are empty at any particular time. In addition, a large number are 'pay to view' and encrypted. Of those that remain, a bunch are of no interest to me, such as channels aimed at specific sexual preferences, dating channels, soft porn, religious, marketing of goods and so on. When all the chaff is disposed of, I am left with some 80 to 100 broadcast channels I might wish to watch at some time or other.
For one TV, this can very easily be done by buying a small commercial set top box (STB) with the required tuners built in, and in addition, plugging in a USB HDD to save the recordings and time-shift files.
Some of these STB's now come with built in functions for subscriptions such as Netflix and other services, so of course they also need an internet connection. Most also limit what the user can do, as they are 'closed source'/proprietary. There are a few ranges of Linux-based STBs which allow the user to 'get down and dirty' - change the OS and functions, etc, but these are are the top end of the price range. Like all commercial products, STBs are a mixed bag, and it is very rare that one will have all your requirements covered.
So, to specify my own needs for a HTPC here is some idea of what I would require .....
DTT tuner: two at minimum
SAT tuner: two at absolute minimum but might wish to expand that as requirement builds.
IPTV: internet connection
Large Storage: internal HDD
It also must be silent, or very close to it. There is nothing worse than watching a quiet moment of TV, only to have the fans ramp up to cool some component. Horrible!
My First Exercise
I decided to build my own HTPC to suit my needs.
Choosing a case was the second most difficult decision, as it had to be able to accommodate the hardware, be well cooled and yet silent, and look good under the TV in the lounge. Essentially, it needed to look like another 'under-TV' device, somewhat similar to DVD or tape players/recorders of old.
Choosing the tuner cards was the most difficult, as I recall. I had a preference for Blackgold BGT36002 cards, but I also wanted the tuner cards to be usable with a Linux OS, as I do not use Windows. Blackgold were promising the release of Linux drivers for a considerable time. I eventually got fed up of their promises and purchased my next preferred cards, TBS, who already had Linux drivers and kept them updated.
I have been very satisfied with those cards over the couple of years I have had them. The icing on that cake is that very soon the cards I chose should have open source drivers in the kernel. Seems I made a great choice for a Linux user.
In any case, I built the PC, using a near silent PSU, a motherboard with the two PCI-e slots I needed for the tuner cards, and a Celeron G630 CPU (dual core). A DVD drive completed it. I reckon it cost in the region of €600 in total. I was satisfied with the performance and the functions, and how quiet it was and how it looked.
I ran a community version of Openelec on it, which had XBMC (now Kodi) and also the drivers needs for the tuner cards, so there was no work for me with drivers. I used Tvheadend as the backend to deal with the tuners, EPG, time-shift and so on. Kodi with the Tvheadend client was used to allow access to the TV channels, recording options etc. I controlled the whole thing with one of the remote controllers that came with each tuner card.
All was good and everyone happy. I set up several plugins to give access to various streaming services with films, TV series and so on.
I did tweak the one case fan that I connected (the others were not needed) - I reduced the voltage to it so it ran much slower and quieter. One could barely hear the PC in a quiet room from about 7 feet away. It was not at all intrusive in normal use.
So that completed my first HTPC build … but of course it did not end there …
With my HTPC up and running, I began to experiment with getting more use out of it. I had a couple of older STB's at two other TV's in the house - kitchen and bedroom - which were on their last legs. One was an SD only for instance. So I began to wonder how I might improve things. By this point, I was aware I had very much overspent on my HTPC (but was not unhappy at all with the result) and intended anything further being done would be within a very tight budget.
The first thing I found I could easily do was to access all the functions of the HTPC from any PC on the network. There is now a plugin for VLC for HTSP streams which are produced by Tvheadend, so I had a choice. I used VLC and I also used XBMC (now Kodi) on my main PC, to view not only stored content on the HTPC, but also LiveTV from its tuners. I did similarly with the Laptop and then the Tablet. My daughter even used her iPhone to play some video on the main TV through it. The options seemed endless.
Next item was a Raspberry Pi Model B to act as a client device. I set that up with an official release of Openelec, attached it to the bedroom TV, and Hey Presto! Full live TV from both DTT and Satellite, plus access to all stored content on the bedroom TV. I could even set a recording on the Pi in the bedroom, and it would be saved on the common storage in the HTPC, so everyone could access it it from whatever device they chose.
The R-Pi B was not the most responsive device one could have bought, but it surely was the cheapest with full HD out! The more recent R-Pi 2 (same price) is an excellent device for the purpose and does not lack in response. Other good client devices are the Intel NUC range and Gigabyte Brix range. I later acquired the R-Pi 2 for the bedroom.
During this time, a friend was hassling me to build a similar system for him. I continually postponed it, as I was still trying to decide what my own setup should finally be (yes, by now I was not completely satisfied any more). I did some tests on a couple of discarded Dell PCs I received around Xmas 2014, and found that the P4 dual core PCs were very capable of acting as the backend for my set up.
By now I had decided I wanted a small silent client device at my lounge TV as well as the bedroom. There was no need whatsoever to have a large box (no matter how good it looked) taking up space under the TV. The backend functions could be off-loaded to a server/backend PC placed anywhere in the house and wired to the LAN.
I donated the original build to my friend instead of building another, and got two new tuner cards, plonked them into one of the old Dell Dimension 5150 PCs, connected it to the LAN, and added a NUC to the lounge TV in place of the big box. As before, all devices have access to LiveTV and stored videos & recordings, and are able to set recordings etc. All good. Silence from the client devices at the TVs. Backend PC out of sight and not heard even if it does ramp up its fans a bit.
I can administer Tvheadend over the LAN from my PC, if required. There are various apps and such for tablets and phones to control Kodi on the client devices, or alternatively use the remote control. The NUC has a built in IR receiver, and I used a FLIRC for the R-Pi 2.
Things left to do
1. Move the backend to a permanent PC .... I am experimenting with an HP server for this purpose at the moment. It has the required PCI-e slots and lots of room for HDDs etc. The HP firmware might be problematic, but I am not sure yet. It is definitely problematic with fan speed control, so it looks like I will, at minimum, have to build a controller for the two fans.
It can then also act as a LAN server & NAS as well as serving all the live media to all connected devices.
2. Set up the R-Pi B for the Kitchen TV so that has all the same services available.
It is my fervent wish that by the time I get that done I will not have thought of any other 'improvement' I might wish to make.
The hardware cost for the 'new' set up ....
Dell PC ......... free of charge
Tuner Cards ... ~250 (2 x dual tuner cards) with 2 x Remotes
R-Pi 2 ............ including case ~45 (one per TV) .... I already had the FLIRC.
The FLIRC is only needed if you do not want to use a phone or tablet to control the Pi.
So far there is no service I want that is not made available via plugins in Kodi. That might change in the future too.
So my definition for MY HTPC is that it must have the following features ...
I seem to have it covered at present.
Backend duties seem to be quite light on resources.
During tests I was able to record 5 different TV programmes at the same time, 3 of them in HD, without any problems.
My tests also included displaying 5 different channels on my PC at the one time.
Those tests were run with the Celeron G630 and not with the P4 ..... but I expect the P4 could handle them also.
I thought to use PCLinuxOS as the OS of choice, but for several reasons discarded the idea:
1. It won't run on the R-Pi (ARM), and anyway the client devices would not handle a full OS very well.
2. Using a dedicated OS for the purpose seems the reasonable thing to do. Openelec is ideal as it is built for this purpose only.
3. Up to now, drivers for the tuner cards were not easy to manage on PCLinuxOS. Hopefully that will change as the kernels update and the open source drivers are included.