Let me start off by saying that I don’t like TV, and especially not commercial broadcasters. I do, however, like to watch the occasional sports event, such as the Tour de France, the FIFA world cup, and other cycling and football tournaments.
Usually, the Dutch public broadcasting authority allows us to stream these events from their web site. However, those streams have some downsides: they’re often laggy and low-bandwidth, but the biggest problem is that they require people to install Adobe’s Flash Player, which is a horrible security risk with an unacceptable EULA.
So, I’ve been looking for a way to watch those streams without having to install Adobe’s malware. The first thing that came to mind was DVB-T, which I’ve already been using on my bedroom TV for years. Granted, I only receive four channels, but I really couldn’t care less about the commercial stuff.
One small problem: DVB-T reception requires a TV. And I’m certainly not planning to put a TV in every room in my house. So it would be nice if I could watch those streams on displays I already have: computer monitors connected to Debian PCs.
I started looking for DVB-T receivers, and I managed to pick up a TerraTec Cinergy T RC for fifteen bucks. Unlike a lot of other hardware, the GNU/Linux support of TV tuners is generally very decent, so I wouldn’t worry too much about incompatibility. The connectors aren’t sophisticated either. It’s a simple coax plug, so the antenna cable can easily be extended.
All you need is a little receiver near a window and you’re set.
Installing a DVB receiver is rather easy: just plug it in, and usually it will work immediately. Sometimes you’ll need to put a firmware file in /lib/firmware, depending on your distribution. dmesg will then probably let you know about that.
usb 1-2: firmware: failed to load dvb-usb-af9015.fw (-2) usb 1-2: Direct firmware load failed with error -2 usb 1-2: Falling back to user helper usb 1-2: dvb_usb_v2: Did not find the firmware file 'dvb-usb-af9015.fw'. dvb_usb_af9015: probe of 1-2:1.0 failed with error -2
In my case, I needed dvb-usb-af9015.fw, so I opened a terminal in the /lib/firmware directrory and grabbed the file:
After reconnecting the tuner, everything went well.
usb 4-1.4: dvb_usb_v2: found a 'TerraTec Cinergy T Stick RC' in warm state DVB: registering new adapter (TerraTec Cinergy T Stick RC) usb 4-1.4: DVB: registering adapter 0 frontend 0 (Afatech AF9013)... Registered IR keymap rc-terratec-slim-2 usb 4-1.4: dvb_usb_v2: 'TerraTec Cinergy T Stick RC' successfully initialized and connected usbcore: registered new interface driver dvb_usb_af9015
Watching DVB streams doesn’t require a lot of special software: all I’m using are VLC and the dvb-apps package.
First, I ran scan /usr/share/dvb/dvb-t/nl-All -o zap -x 0 | tee channels.conf, which created a channel list. (Needless to say, the nl-All file should only be used if you live in the Netherlands.)
Nederland 1:474000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:7011:7012:1101 Nederland 2:474000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:7021:7022:1102 Nederland 3:474000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:7031:7032:1103 TV Rijnmond:474000000:INVERSION_AUTO:BANDWIDTH_8_MHZ:FEC_1_2:FEC_1_2:QAM_64:TRANSMISSION_MODE_8K:GUARD_INTERVAL_1_4:HIERARCHY_NONE:7041:7042:1104
Then, I could simply drag the channels.conf file into a VLC window, which automatically converted it to a playlist. Press Ctrl + Y and save it as ~/Videos/TV.xspf (or whatever), and all you have to do is click the playlist and switch channels with the Previous / Next buttons.
If you’re looking for a fancier GUI solution, you might want to check out MeTV. It can scan for channels on its own, but you can also import your channels.conf file. MeTV also offers EPG viewing and MPEG stream recording (including timers).
Also keep in mind that DVB-T offers nice advantages regarding anonymity, privacy, and bandwith. After all, it uses public RF signals that are “in the air anyway”. There’s no upstream, so nobody knows that you’re watching. And even if there was, there would be no way to identify you, as there is no IP address that an ISP could point towards you. Moreover, you don’t have to constrain your network with any kind of video stream. You can even unplug your ethernet cable, or take your laptop down the road.