Tvheadend (Bonus: everything is an RTL2832)

I didn’t want to hijack any existing threads, although this one does follow on from some of my posts in OK, so now what? LOL, Large Language Models, but Small (aka playing with a thin client), and An ode to OpenWrt.

Not long after replying to @mcrilly’s post in OK, so now what? LOL this afternoon, I figured a good rainy Sunday evening project was to see what the current state of Tvheadend was. I think it dovetails well with other HLB contributors’ interests in media streaming as it’s an excellent way to distribute and manage TV sources such as FTA DVB-T, DVB-S, IPTV, etc. and distribute them over a network to clients. It supports EPG, and also has recording functionality built in.

I last played with this many years ago, but the already straightforward setup has been further simplified. In the time it took for my dinner to cook in the oven (less than 30 minutes), I took another spare Dell Wyse 3040 out of the parts bin (as recently featured in the LLM but small thread), did a fresh install of Debian 12, installed Tvheadend, dug up a spare TV tuner (more on that below), blew through the Tvheadend wizard and had it presenting channels and streaming to my MacBook running VLC.

There’s no transcoding happening, and the raw MPEG-TS is being sent over HTTP to be decoded by VLC. Various transcoding options, codecs, and other protocols can be setup, but I don’t expect the tiny little 3040 would do well with that!

I know FTA TV is a bit old hat now days, but it’s still high quality video that could be useful when combined with the built in EPG and recording functions (e.g., using FTA to record a show or film not available via your preferred streaming service to watch it later), or to send live TV to a device or location that doesn’t support it (e.g., showing a football game on a TV out on the back patio where there’s no TV point nearby - easily solved with a RaspberryPi). Tvheadend will also ingest and distribute IPTV streams if you regularly watch any of those, and integrates nicely with other clients such as Kodi or Jellyfin.

Anyway, if you haven’t already, consider incorporating tvheadend into your home media ecosystem. It’s really well polished.


Bonus:
The TV tuner I pulled out of the parts bin this evening is this ezcap device.

I recall nothing about these, although I’ve had several floating around at home for various projects, and would have bought them well over 10 years ago. At one stage, one of these was used to receive ADS-B data.

If we crack it open, here’s what’s inside:


The router repurposed into an ADS-B feeder in the An ode to OpenWRT thread gets its data from one of these AirNav Radar FlightStick devices. Note the old branding, as the company has since changed names slightly. I’ve had this for years.

If we crack this one open, sure enough, it’s another RTL2832.

I’ve got a few other devices in the house with these in them, but nothing I can easily pull out of service and pull apart right now.

My point here is, if you’ve got any interest in Tvheadend or any project that requires capturing data via an antenna, you may already have suitable hardware in your own parts bins!

I haven’t watched free to air for a very long time now. I was talking to Louis recently and he reminded me that he is still an enthusiastic MythTV user. He has been for at least ten years. I’ll forward this thread to him. I’m sure it’ll interest him.

2 Likes

I am looking for recommendations for a DVB-T tuner. PCIe or USB are equally fine.

There are lots of choices but are the cheaper ones sufficient?

Cheaper ones should be absolutely fine for your use case.

The only snag I’ve ever run into with really cheap generic RTLSDR/RTL2832 type devices is that they’ll occasionally come set to the same serial number (something like 00000001 or 00000000). If you’re using multiple of them on the same machine then it’s an easy fix to change the serial number on the devices using rtl_eeprom -s XXXXXXXX as long as XXXXXXXX is an 8 digit number. Probably a reasonable practice to change it to something else anyway, as I have had one case where one set to 00000000 was behaving strangely with the drivers on Debian. Changing to 12345678 made the issues magically disappear.

Some of the flashier USB devices will have extra filtering or other features, but for TV reception I think any of the cheap USB tuners based on the RTL2832 will perform identically.