You are here

TV Tuner software and remote control software

XawTV and TVtime

"xawtv" comes as the default tv watching program for Mepis. "xawtv" also features recording ability but I think a lot of work has to be done on this feature.

But when it comes to quality and full-screen mode "tvtime" rules. TVtime is installable via apt. The Indian cable settings are:

Default Television Standard: PAL
Default Frequency Table : Europe
Default Audio Standard : PAL-BG

Other TV viewing software

There are other software such as mythtv, freevo, mplayer, mencoder, kplayer, etc. available for watching TV. But I had problems in configuring most of them. MythTV is an excellent TV viewing application but i think it relies on some xmltv listings which is not available for India and hence I believe this application cannot be used here.

Remote control

Remote control support is provided in linux using LIRC. lirc can be installed via apt.


  1. While installing lirc, it will prompt you for two things. The first prompt is about the remote model which you are using. I am using Pinnacle Stereo TV Tuner card and the model to be selected for it is "Other serial port devices -> Pinnacle Systems PCTV (pro) receiver".
  2. The second prompt is for the serial port to which your receiver is connected. Most PCs generally have only two serial ports. If you know whether your remote is connected to COM1 / COM2, you can select it right away. If you are not sure then just select the first option and while testing if the remote doesn't work, you can either fix the receiver to the other serial port and test / you can modify the com port setting (DEVICE) in "/etc/lirc/hardware.conf", restart the lirc daemon and then test.
  3. In order to test whether everything is working properly, you will need to run the command "irw" and press some buttons on the remote. The output should be similar as below (remember the lirc deamon should be running before you execute the command):
    # irw
    000000000000002f 00 Power PinnacleSysPCTVRemote
    0000000000000033 00 3 PinnacleSysPCTVRemote
    0000000000000032 00 2 PinnacleSysPCTVRemote
    0000000000000031 00 1 PinnacleSysPCTVRemote
    0000000000000034 00 4 PinnacleSysPCTVRemote
    0000000000000035 00 5 PinnacleSysPCTVRemote
    000000000000003f 00 Chan+Play PinnacleSysPCTVRemote
  4. Sometimes lirc may give problems working with your remote. It would be a good idea to get the latest sources from the website, compile, install and then test.
  5. Once your remote control is working fine, you can then configure lirc for tvtime. Instructions on configuring lirc for tvtime can be found here.

Software tried and failed for Recording

- Freevo (depends on xmltv listings)
- MythTV (depends on xmltv listings)
- vdr (needs a specific DVB card)
- dvr (gave some error when executed)
- vcr
- streamer

I am still looking for some TV capture software in linux. If anyone of you comes across such a software, kindly let me know.

Recording using ffmpeg

Upon looking for a way to capture from TV Tuner card, I posed the problem to one of my college mates Anurag Singh. He suggested the below method. Though I have not tried it out, you can give it a try if interested.

Hi sir,
Ofcourse I remember you. How are you? Ok, I'll tell you in detail about the
whole thing.

We've set up two frameworks for recording. The first one is for In this one, we decided a static list of channels for
various 30 min time slots for the whole day. We wrote some shell scripts
which execute periodically using cron and they record the required channel as
one video each. For this, we had to find out the frequency of the required
channel to be recorded. We used xawtv to tune the channels. Its done like

We open xawtv. We press up and down arrow keys to change channel. Say for
example we somehow reached 'ZEE TV'. Now, if you want to note the frequency,
right click on the xawtv window and select 'Channel editor'. You can then see
the channel frequency. Generally it will be a number from 1 to 25... or S01
S02 or SE1 SE2 or E1 E2, etc kind of a string. Also just before you do all
this, you need to select the 'frequency type' .... which can be selected from
xawtv. For all channels in India, we need to select 'europe-west'.

Anyways, for all these tuning purposes also, we've written shell scripts,
which can be used to create frequencies of all channels with human assistance

Another part of the whole framework is This part was done to
get IIIT a supply of videos on demand. It uses a php portal and a mysql
database. It takes votes of people all 24 hours and finally records the
channel which was voted the most. It also uses cron for the whole thing. Here
also we needed to manually tune the channels which were available as choices
to be recorded. These tuned frequencies keep changing when the cable operator
switches then, so we need to keep monitoring the correspondence of channel
name and frequency from time to time.

Anyways, here are a few commands of help.

v4lctl setchannel S01
This command makes the hardware start receiving the channel at frequency S01.
If you do 'xawtv' just after this, the first channel to be shown will be the
one at S01.

v4lctl setfreq 69250
This command has the same effect as the previous one. This basically sets the
frequency based on the value instead of the tag name. You can find the values
and tag name mappings in /usr/share/xawtv. The europe-list file, along with
what it includes, is of interest.

ffmpeg -tvstd pal -vd /dev/video0 -deinterlace -ad /dev/dsp1 -minrate
1000 -maxrate 1000 -b 1000 -bufsize 3000 -aspect 4:3 -s 640x480 -y -t 40
This command can be used to record the telecast into a file 'something.avi'.
The option -t specifies number of seconds to record (40). -aspect specifies
aspect ratio, -s specifies resolution, -y specifies allow overwriting the
file if it exists. -vd option is used to select the video device
(video0), -ad for audio device. The deinterlace option is to deinterlace the
video as the input will generally be even and odd rows of video in alternate
frames. The -b, -minrate, -maxrate, -bufsize options specify the bitrate of
recording. -tvstd option is generally optional.
Other interesting options for ffmpeg are
-qscale <num>
The num can vary between 1 to 35 and can be used in place
of -b, -minrate, -maxrate, -bufsize options. 1 refers to best possible
quality and 35 to the lowest quality.
This options asks the encoder to use the same quality as source.

We've tried all these options... and for good enough recording.. the above
given ffmpeg command works well.

The current is fully working.. and I can give you all the
scripts to use it. But I think static recording wont be of much use to you.
The portal last worked in April. We've stopped working on it
since then, but seems after a few tweaks it can function as well. But I
guess, using cron, v4lctl, xawtv and ffmpeg, it'd be a matter of 20 mins for
you to set up your own recording system, rather than debugging that whole
portal. I'll happily send it to you if needed.

And do write back if you have more queries (which I am sure you'll have as I
am not very good at explaining :D).


शुक्रवार 01 सितम्बर 2006 22:09 को, आपने लिखा था:
> > Hi Anurag,
> > I hope you remember me. I am Rahul from the 2k batch. I needed a small
> > piece of information. I have a Pinnacle PCTV Plus TV Tuner Card. I have
> > tried umpteen number of times to set up PVR in linux for this card. But
> > failed everytime. I tried Mythtv, Freevo, Xawtv, VDR, DVR, etc. but all
> > in vain. Most of them require some XML listings while in some of them
> > recording quality is very bad and some of them don't even work. What I
> > have heard is that a video recording solution has been set up in IIIT
> > and you are part of the team. It would be very helpful if you can answer
> > my below two queries:
> >
> > - Are there are any tools which are tried and tested by you using which
> > I can record TV shows?
> > - Can I use the software developed at IIIT for recording i.e. is it free
> > and and in a usable state?
> >
> > Hoping everything is going fine on your end. Looking forward to a
> > response ...
> >
> > Regards,
> > Rahul.
> >
> > P.S.: I am able to view TV using tvtime. So getting the card to be
> > recognised and loading the appropriate drivers for it is not an issue.


Add new comment