XMLTV

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

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.

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 http://www.kudos.byethost15.com/freeguide/

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.

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)

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 radiotimes.com 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