Linux::DVB::DVBT::Apps::QuartzPVR - PVR Application
use Linux::DVB::DVBT::Apps::QuartzPVR ; print "Verion: " . Linux::DVB::DVBT::Apps::QuartzPVR::version() . "\n" ;
This is a bundle module that installs a complete PVR application that uses a web frontend for TV listings display and for managing recordings.
To install this module type the following:
perl Makefile.PL make make test make install
When you run 'perl Makefile.PL' a number of questions are asked to determine your setup. The answers are then embedded into various config files in the installation.
Questions asked are:
The root user password for your MySQL server. This allows the installation to create the new MySQL user and database used for the tv guide.
Give the path to the frequency file. This is used by dvbt-scan to initialise the tuner. Can alternatively supply a 2 letter country code (for example GB) to initiatate a (much longer) full frequency scan.
Give a mail account (e.g. fred@bloggs) to which all script errors will be sent. This is useful for cases where a program has failed to record.
User name that your web server uses (e.g. on Ubuntu this is www-data). Script should have worked out the correct setting, but change if it's not correct for your system.
Group name that your web server uses (e.g. on Ubuntu this is www-data). Script should have worked out the correct setting, but change if it's not correct for your system.
The script then asks if you want to use the default values for the "extra" options. These defaults will work on any system, but you may answer 'no' to allow you chance to see and change all of the following settings:
Specify a different TCP port number for the PVR server to use. The server provides the interface between the scheduling Perl script and the web frontend
Change the MySQL username that will be created for the tv guide database
Change the MySQL password that will be used for the tv guide database
Specify a username to use for running the recording scripts. By default a new system user will be created, but you can also specify an existing user. Note that recordings are added to that user's crontab
Specify a group to use for running the recording scripts. By default uses 'video' to allow access to the DVB-T drivers.
A directory under which all PVR logs are stored
The MySQL database name to use for the tv guide
The directory under which all videos are recorded
The directory under which all audio files are recorded
During recording, various temporary video files are created and then removed. By default the "deleted" files are moved to this trashcan location. A cron job is set up in the QUARTZPVR user's crontab which deletes trash files after a week.
This is done to ensure you always have access to the raw recording just in case the file left in the video directory is not playable (allows for re-processing the original).
Recorded video file will be stored with this full pathname. Obviously the filename must contain variables otherwise every recording will overwrite the previous recording.
The default setting is: $video_dir/$title/$tva_series/$YmdHMS-$name.ts
The full list of variable that can be used are:
Recorded audio file will be stored with this full pathname.
The default setting is: $audio_dir/$title/$series/$YmdHMS-$name.mp3
Space separated list of the adapter numbers to use (leave blank for default)
Advert removal (1=remove adverts, 0=do not remove adverts)
Allow use of other installed PHP (may cause name clashes).
Debug: Log file to use for PHP application. Default is no log file specified so no logging is done.
Note: You are responsible for ensuring the directory is writable by the web server.
Debug: Level of server debug logging. Debug logs will be stored in /var/log/quartzpvr-server.log
If you haven't already got DBD::mysql, then you may need to install libmysqlclient-dev package for the cpan install to work properly (it needs mysql_config). Run:
sudo apt-get install libmysqlclient-dev
To run the web frontend you need to have installed:
web server (preferably apache) php MySql a dvb package (to provide the initial frequency file)
This module requires these other modules and libraries:
use App::Framework ; use Linux::DVB::DVBT ; use Linux::DVB::DVBT::TS ; use Linux::DVB::DVBT::Advert ; use MP3::Tag ; use DBI ; use DBD::mysql ; use Net::Server::Fork ;
If you have access to the BBC iplayer, you can schedule iplayer file downloads via the EPG. To do this you need to install get_iplayer from http://www.infradead.org/get_iplayer/html/get_iplayer.html
Please report bugs using http://rt.cpan.org.
None that I know of!
Copyright (C) 2011 by Steve Price
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.