Gather television listings, process them and organize your viewing.
XMLTV is a file format for storing TV listings, defined in xmltv.dtd.
Then there are several tools to produce and process these listings.
Please see doc/QuickStart for documentation on what each program does,
and xmltv.dtd for documentation on the file format.
Progress is being made for a 1.0 release. We've really been stable for
a while I and consider it well overdue.
* Changes in this release (0.5.56)
tv_grab_uk_rt: improve UTF8 support, improve actor support
tv_grab_huro: Add Slovakian episode parsing
tv_grab_it_dvb: new grabber for Italian DVB-S stream
tv_grab_za: South African grabber fixed
And of some bugfixes and polish.
Note: 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 doc/exe_build.html. Those instructions can be used for both
building xmltv.exe as well as a local install.
Basically installation instructions (unix):
% perl Makefile.PL
% make test
% make install
To install in a custom directory, replace the first line with
% perl Makefile.PL PREFIX=/wherever/
The system requirements are perl 5.6 or later, and a few Perl modules.
You will be asked about some optional components; if you choose not to
install them then there are fewer dependencies. The full list of
needed modules is:
Memoize (included with perl 5.8 and later)
Storable (included with perl 5.8 and later)
Archive::Zip (if you want to run tv_grab_uk_bleb)
CGI (if you want to run tv_pick_cgi)
Compress::Zlib (if you want to run tv_grab_se_swedb)
HTML::Parser 3.34 (for some of the grabbers which use HTML::Entities)
HTML::TableExtract (if you want to run tv_grab_na_icons)
HTML::TreeBuilder (for many of the grabbers)
HTTP::Cache::Transparent (if you want to run tv_grab_se_swedb)
HTTP::Cookies (if you want to run tv_grab_br_net)
IO::Scalar (if you want to run tv_grab_uk_bleb)
IO::Stringy (if you want to run tv_grab_se_swedb)
SOAP::Lite (if you want to run tv_grab_na_dd)
Term::ReadKey (if you want to run tv_grab_na_dd)
Text::Kakasi (if you want to run tv_grab_jp)
Tk (if you want to run tv_check)
Tk::TableMatrix (if you want to run tv_check)
WWW::Mechanize (if you want to run tv_grab_na_icons or tv_grab_br_net)
XML::LibXML (if you want to run tv_grab_se, tv_grab_se_swedb)
Unicode::UTF8simple (if you want to run tv_grab_pt)
You may have difficulty with the XML modules on perl 5.8.0 - if so
send mail to the xmltv-users list. Other perl versions should be OK.
The following modules are recommended, but the software still works
Term::ProgressBar (displays pretty progress meters)
PerlIO::gzip (for perl 5.8+) (makes tv_imdb a bit faster)
Lingua::Preferred 0.2.4 (helps with multilingual listings)
Unicode::String (non-ASCII chars in LaTeX output)
Lingua::EN::Numbers::Ordinate (not really needed, to be honest)
And the Log::TraceMessages module is useful for debugging, but not
needed for normal use.
All of these can be installed with tarballs downloaded from CPAN or
(hopefully) using the CPAN shell program: 'perl -MCPAN -e shell', then
'install XML::Twig' and so on. But you may find it easier to search
for packaged versions from your OS vendor or others - places which
distribute a packaged version of xmltv will often provide the modules
it needs too.
* Proxy servers
Proxy server support is provide by the LWP modules.
You can define a proxy server via the HTTP_PROXY enviornment variable.
For more information, see the the following:
* Known issues
tv_grab_se_swedb sometimes fails to work on Windows if there are spaces
in the path to your home-directory. This can be avoided by setting
the environment variable HOME to a path without spaces (e.g. c:\home).
* Author and copying
This is free software distributed under the GPL, see COPYING. But if
you would like to use the code under some other conditions, please do
ask. There are many who have contributed code, they are credited in
individual source files.
There is a web page at http://www.xmltv.org and a Sourceforge
project 'XMLTV'. There are some mailing lists:
You ought to subscribe to the announce list at least. Contact the
users list with most problems.
-- Robert Eden, firstname.lastname@example.org, 2009-08-09
$Id: README,v 1.158 2009/08/10 05:22:03 rmeden Exp $