Watching Television on Computer using DVBSky S960

Today, Television (TV) is the most predominant mode of entertainment which is found in almost all homes. While non-linear form of entertainment like Youtube is increasing in adoption, TV holds it's spot for live entertainment and news. More so, with Satellite Digital Video Broadcasting (DVB-S), it's possible to enjoy the same programs sitting anywhere in the world.

But why on Computer?

There are many good reasons for watching TV on Computer which I'm listing below. If you have different reasons, let me know via comments.


  • I'm creating a unified interface for controlling all electrical devices at home. When I show above demo video, the first question people ask me is "Can I change the TV channels?"
  • IoT is incomplete without the ability to control your TV remotely and automatically record your favourite programs.
  • Did you know you could watch or record multiple channels (almost 20) on a tuned frequency using a single tuner and multiple displays including your mobile phone?
  • You are adding an additional TV in your bedroom and don't want to pay extra to your DTH provider (atleast in India).
  • You want to watch Free-to-air (FTA) channels not provided by your Direct-to-Home (DTH) operator.
  • Your DTH operator's call-center is unresponsive or ineffective about your requests to add your favorite FTA channel in the package subscribed by you.
  • You want to watch multiple channels simultaneously using Picture-in-Picture (PIP)
  • Your Electronic Program Guide (EPG) is incomplete or incorrect.
  • You want recording facility.
  • Your DVR Set-Top Box (STB) is running out of disk space.
  • Some buttons on your TV remote have become sticky and changing channel is becoming a struggle.
  • Searching for a particular channel is an ordeal.
  • It's a fun project!!

What do you need?


  • Satellite dish
  • LNB (Low Noise Block Downconvertor often referred to as booster in local parlance)

If you are already using a DTH service, you can reuse the same setup for the above.


  • DVB receiver. I'm using a DVBSky S960 (henceforth called S960). It supports DVB-S/S2. Additionally, if you want to watch encrypted channels, make sure you buy a receiver with Common Interface (CI). They are labelled as such. You will be able to use your DTH provider's smart card with these devices. If you want to watch terrestrial broadcast, you'll need a DVB-T receiver.
  • A computer running Linux or windows.


Blindscan

Blindscan is the process where your TV equipment auto-scans the signal and discovers the channels. With a generic hardware like S960, this a bit more involved process. You need to know the satellites covering your region. If it's available in the software database, then you can select the satellite by name and run a blindscan. However, if it fails to find the channel, you have to find out the transponder details of the channel from other sources and then run select frequency scan.

Windows

S960 comes with out of box Windows support. I tested it with Win7. Insert the provided CD in your computer, install drivers and DVBSky software. Launch the software, select a satellite and run a scan. (Note: Indian users can use NSS6 satellite.)

Linux

S960 comes with out of box Linux support. I tested it with Ubuntu 14.04 (kernel 4.4) contributing bug-fixes along the way.
Install essential development tools
sudo apt-get install autoconf autopoint git build-essential mplayer
Install the drivers.
git clone git://linuxtv.org/media_build.git
cd media_build
./build
make install
Install DVB tuning software
git clone https://github.com/atamariya/v4l2-rds-ctl
cd v4l2-rds-ctl
autoreconf -vfi./configure
make
sudo make install

Create a file scan.conf containing transponder details.
[NSS6]
FREQUENCY = 12688000
SYMBOL_RATE = 27500000
Generate channel configuration file.
dvbv5-scan scan.conf -l UNIVERSAL -S1 -F

This will generate a file containing channel information called dvb_channel.conf. It's a text file. You can open it using a text editor to see the list of channels found during scan. Use this to tune to a channel called "Preview". You can run the following commands in background or in separate terminals.
dvbv5-zap -l UNIVERSAL -S1 -c dvb_channel.conf -r Preview
cat /dev/dvb/adapter0/dvr0 > test.ts
mplayer test.ts

Enjoy your TV program on computer.


Playing multiple TV channels simultaneously 

Once basic TV is setup, you can use TVHeadend to allow you easy access to TV programs. There is also a plugin for Kodi if you're a kodi fan.

Useful links


Note

One would assume that all the FTA channels should be part of the base package offered by providers. Turns out - it's not true. For  comparison, look at the channels offered by DD Free Dish (previously called DD Direct) which is totally free. This is how monopoly and vendor lock-ins can take away consumers' choices in the long run!

Note 1 (10/10/2016): Since some DD channels are mandated to be carried by all Indian operators by Government of India, these channels are not scrambled. This means that even though operators' STB might refuse to play these, these are not ACTUALLY blocked. All you need to do is use an open STB to watch these channels without re-configuring antenna position.

Comments

Popular posts from this blog

GNU Emacs as a Comic Book Reader

Mozilla Readability in GNU Emacs

Data Visualization with GNU Emacs