Main Page

Revision as of 16:11, 15 July 2008 by (Talk)
Jump to: navigation, search



XMLTV is a set of utilities to manage your TV viewing. They work with TV listings stored in the XMLTV format, which is based on XML. The idea is to separate out the back-end (getting the listings) from the front-end (displaying them for the user), and to implement useful operations like picking out your favourite programmes as filters that read and write XML documents.

At present there are back-ends grabbing TV listings for the following countries

Belgium and Luxembourg
Britain and Ireland
Hungary and Romania
North America
Reunion Island (France)
South Africa

See XmltvWorldDomination.

There are filters to sort the listings by date, to remove shows that have already been broadcast, and a couple of programmes to organize your viewing by storing preferences of what shows you watch. There are a couple of back ends to produce printed output.

This software is still being developed and most of the tools are command-line based, but at least many of them have manual pages. See the XmltvStatus page for information about which grabbers currently work correctly.

File format

The format used differs from most other XML-based TV listings formats in that it is written from the user's point of view, rather that the broadcaster's. It doesn't divide listings into channels, instead all the channels are mixed together into a single unified listing. Each programme has details such as name, description, and credits stored as supplements, but metadata like broadcast details are stored as attributes. There is support for listings in multiple languages and each programme can have 'language' and 'original language' details. See XmltvFileFormat.

Current release

latest version is 0.5.51



  tv_grab_eu_epgdata: new European grabber (commercial)
  tv_grab_es_miguiatv: new grapper for Spain


  tv_grab_nl,tv_grab_nc,tv_grab_no (use tv_grab_no_gfeed)

Updates: add Programme->Video->Quality attribute misc fixes
  tv_grab_br_net: adapted for changes on the grabbed website
  tv_grab_eu_epgdata : add "people" and "series id" tags
  tv_grab_es_laguiatv: Fix for site changes
  tv_grab_fi: misc fixes for site changes
  tv_grab_fr: update for site changes
  tv_grab_it: add new data source and speed improvment
  tv_grab_na_dtv: misc fixes
  tv_grab_re: misc fixes
     add title/subtitle processing for consistant programme info,
     add support for timeshifted and part-time channels,
     improve support for non-english characters and bad characters

And of course bugfixes and polish.

Source code

The main release is Perl source code, which can be installed and run on Unix systems. Get copies from Sourceforge: XMLTV file releases. There is an 'xmltv' release containing the source code, and lower down the page 'xmltvprereq' which is a tarball containing the Perl modules needed. It's up to you whether to install the modules from packaged versions, from xmltvprereq, or individually from CPAN. But packages (eg RPMs) provided by your operating system vendor are usually the best bet.

To keep up with development, you can browse the latest CVS or get a checkout. Because Sourceforge may be down, and even when it's working the anonymous CVS access may lag a day behind the latest checkins, you can look directly at my xmltv working copy. If you're nosy and want to see what stuff I watch, have a look at the personal/ directory.

There are also nightly snapshot tarballs and sometimes an alpha-release Windows executable.

Windows users are strongly advised to use the pre-build EXE as installing all the prerequisites is non-trivial. For those want to give it a go, instructions are in CVS under the DOC directory. (EXE_BUILD.HTML) Those instructions can be used for both building xmltv.exe as well as a local install. If anyone wants to try the painful busines of compiling xmltv.exe for Windows directly from source (CVS), you will find instructions here

Packaged versions

These packaged versions for various operating systems may not necessarily be up to date with the latest xmltv source release. However they are usually built within a week or so.

For most Windows users, who may not wish to install perl and the necessary libraries, there is a 'binary' release created by Robert Eden. This combines all the different xmltv programs into a single wrapper xmltv.exe. It is released as part of the XMLTV project, so get it from Sourceforge as above. See XmltvWindowsExecutable.

For Mac OS X there is an xmltv package as part of the Fink project, maintained by Justin Hallett. Latest version appears to be 0.5.31.

For various Red Hat/Fedora Linux versions Axel Thimm has made some RPM packages for xmltv. They are may also work on Mandriva Linux.

Debian GNU/Linux's xmltv source package produced by Chris Butler generates four binary packages: libxmltv-perl, xmltv, xmltv-gui and xmltv-util.

For Gentoo, the list of available versions can be found at

Mailing lists

Posting to the lists are restricted to list members only. For quick response, be sure and sign up before posting using the email address you will post from. (you can disable emails if you read via gmane)

List Purpose Subscribe Gmane
xmltv-announce Low-traffic announcement of new releases subscribe
xmltv-users General user questions about xmltv (not third-party software) subscribe
xmltv-devel Development discussion and patches subscribe
xmltv-commit CVS commit logs subscribe

Sourceforge trackers

Being notified of new releases

If you do download a copy, please subscribe to the xmltv-announce mailing list so you can find out when new releases happen. Since websites change their format without warning, a new release might be needed at any time!

Information for Developers

Information is available on HowtoUseGrabbers, HowtoWriteAGrabber, and HowtoSubmitAGrabber.

Notes on UK/ROI Radio Times listings

The tvgrabuk_rt grabber gets machine-readable data from the site. They would like me to point out that all data is the copyright of the Radio Times website and the use of this data is restricted to personal use only.

Other stuff

RFC 2838 suggests a way of storing channel names based on the existing DNS hierarchy (though the channel names are not Internet hostnames). XMLTV has adopted this idea as a way to store globally-unique channel names, though at present not all the listings-grabbers use it. We have the channels.xml file (whose format is described by channels.dtd) to map between internal channel IDs and human-readable names.

An interesting side effect of keeping a preferences file listing programme titles is that you can crunch through the file later to see what words in titles you like and don't like, and what words occur most frequently in TV show titles. See A totally unscientific analysis of words appearing in British TV programme titles.

On March 14th 2002 Ed gave a on XMLTV.

TV CHECK is an application distributed with XMLTV that generates a HTML report highlighting schedule changes and bonus episodes of your favorite shows.

tv_grab_eu_epgdata is a new grabber that covers many European countries for a nominal cost

?XmltvGrabberChannels is some work in progress to organize which channels are best fetched by which grabbers. If you use one of the xmltv grabbers, feel free to update it. Related Projects

It's intended that the XMLTV-format output be used by other applications, including schedule viewers and PVRs. Also, there are some listings grabbers which aren't included in the official XMLTV distribution. See XmltvRelatedProjects.

The ?XmltvUnrelatedProjects are things which don't use the XMLTV format but are somehow connected to TV listings. Sourceforge

Please look at our Sourceforge project page. You can file bug reports there, or just send questions to the xmltv-users mailing list. Authors and copying

The maintainer of the xmltv project is currently Robert Eden. To get in contact use one of the mailing lists mentioned above. The project code (particularly the different grabbers) was written by many people. The manual page of each program should list its authors.

If you have a question about a grabber for a particular country, it is probably best to contact the grabber's author. And then you can write in your own language instead of English. But feel free to cc the xmltv-users mailing list anyway.

These programs are free software; you may distribute them under the GNU General Public License as published by the Free Software Foundation, either version 2 or (at your option) any later version. (See the file COPYING.)

But I do not place any restrictions on files conforming to the DTD or on programs reading and writing the XMLTV format (even if the law gave me the power to do so). You are free to use the XMLTV file format (or variants of it) for any purpose. The DTD itself is copyrighted and GPLed (it's arguably a literary work), but that does not imply that I have any copyright interest in files you create by following its instructions. -- ?EdAvis

There is no warranty for this software, see the file COPYING.

Personal tools