View Single Post
Old 8-Mar-2016, 4:17 PM   #1
Maury Markowitz
Junior Member
 
Join Date: Sep 2011
Posts: 21
Some notes on TVHeadend

A while back I came up with the febrile plan of putting USB tuners right on the back of two antennas and then using a network box to combine them into a single feed. This would eliminate any line losses because it would be moving to Ethernet almost immediately, let me point both antennas directly at their signals with no fear of phasing problems due to a combiner, and allow me to watch TV on any of the devices in my home.

So after reading everything I could on it, I selected a solution based on the ODroid single-board-computer, the kWorld U235 USB tuner stick, and TVHeadend as the tuner/PVR. And basically, it doesn't work. The problem is due to a combination of issues that conspire together, no one thing.

To start with it turns out that the ODroid C1 does not run modern Linux kernels, in spite of running semi-recent OS's. It turns out they combine a very old kernel with slightly less-old Linux utilities to provide a hybrid which doesn't support pretty much any TV hardware. This would have worked out of the box with the RPi, but I thought I was being smart buying a box with more CPU. This problem was eventually overcome by a resourceful user in the ODroid forums, but it requires you to build your own kernel, et al.

And that brings us to issue #2. TVHeadend doesn't include any sort of realtime transcoding, although i had managed to convince myself otherwise. It can transcode recordings, but does so, normally, at extremely reduced resolution. On a RPi this takes 1.3 times as long as the recording, so just over an hour for a ~48 minute typical show.

Now realtime transcoding might not sound like an issue, but consider that most devices like iPads only support MPEG4, not MPEG2 which is being broadcast. That can be fixed through software like VLC, but only for the cost of significant CPU on that device. The new AppleTV laughed at it, but out 2nd gen iPad mini chokes completely. In addition, interlacing on 1080 content is very much noticeable, and without it being deinterlaced on the TVH box, viewing the feed directly (it's just a web page at the bottom) is ugly.

One *can* accomplish this, technically, on a box with enough horsepower. And that's why I got the ODroid, because if the RPi takes 1.3x then the ODroid being about 2x faster should be able to pull it off. Then you learn that the ODroid video acceleration bits are not actually available to software (due to Mali limitations), meaning that it is in fact many times slower than the RPi.

And finally, I can't really recommend TVHeadend to anyone other than hardened hackers. It's certainly powerful, but getting at that power is an effort spanning multiple setup screens using euro-centric jargon and needs you to have some Unix admin experience as well. For instance, it comes out of the box set to record PVR to /root, which obviously it doesn't have permissions to do.

I am considering trying again with the Tablo as soon as their AppleTV client comes out (supposed to be this month). However, with only a single tuner input that means I have to gang my antennas and lose some of the advantages I was hoping for. C'est la vie!

I remain convinced that from a technical standpoint this is a wonderful solution, but unless there's a better tuner, or major upgrades to TVH, there's simply no way to build this without using a full-fledged PC as the host.
Maury Markowitz is offline   Reply With Quote