Myth recording extender
What is Myth Recording Extender (MRE)
Warning The MRE uses ESPN's scoreboards to check if games have completed. Since this version was released, ESPN changed the format for their scoreboards. I'm fairly certain MRE will not work properly for NHL games, so I don't have much confidence for the other sports. For NHL, MRE will extend recordings until any game completes.
MRE is a PHP5 application that will monitor (certain) active recordings and automatically extend the length of the recording if the monitor detects that the event is running beyond the scheduled time in the TV listings. MRE will continually extend such recordings until the monitor detects the event is over, at which time it will stop the recording. MRE was written with live sports in mind and currently supports monitoring of the following events:
- NFL football
- MLB baseball
- NHL hockey
- NBA basketball
Just because your listings provider says the game is over after three hours doesn't mean you have to miss extra innings or overtime. With MythTV and MRE you can record the entire game no matter how long it goes.
There is a project page on Sourceforge MythTV Tools
+ Developed and tested against PHP 5.0.5 + Any 5.0.x version should work; 5.1.x may as well + CLI version of PHP must be used
- PEAR DB
+ PEAR DB package must be installed and configured with MySQL support + Developed and tested against PEAR DB 1.7.6; any recent version should do
+ Version 0.19.x required + Extending in-progress recordings wasn't introduced until 0.19
- SSH Client/Server
+ If you plan to run this application on a host other than your MythTV master then you will need to setup SSH access between the two hosts + The host running this application must be able to run commands via SSH on your MythTV master host without requiring a password (use public keys)
Taken from the README:
To install, unpack the tarball and run 'configure'. If you wish to install to a path other than the default system paths simply specify the path on the configure command line:
$ ./configure /some/path/to/use/as/root
With no options to configure, the main script will be installed to /usr/local/bin, the class files will be installed to /usr/local/lib/mre and all configuration files will be installed under /etc in the appropriate locations.
# make install
This will install the files as requested. If installing to the default locations, you will need to run this command as root.
When you run mre.php it will run in an infinite loop until it's killed. I recommend running the script in daemon mode, if your PHP supports the pcntl_* functions. If your PHP is not built with the pcntl_* functions then you can run MRE in the background with nohup or something similar:
$ nohup /path/to/mre.php &
There are no required options, everything has a default. Run with -h for a listing of all the available command line options.
Running this script will modify the end times of your recordings! Though every effort has been made to ensure the accuracy of this application, please be aware that the use of this script may unexpectedly change the end times of recordings. End times may be changed to unexpected times or the end times may be changed for programs you weren't expecting to be changed.
If your event monitor deems itself successful in parsing the info about your event and it continues to determine that the event is still ongoing then this script will continue to extend your recording for a very long period of time! The default value is an extra eight (8) hours beyond the scheduled end time. If this condition occurs then please be aware of the resources being used (disk space, tuner, etc.). You can control this setting with the -l flag.
Monitored Events for v.1.0.0
- NHL Hockey
+ Matching program title: 'NHL Hockey' + Monitor source: http://sports.espn.go.com/nhl/scoreboard + Active recordings with a title of 'NHL Hockey' will be monitored and the recording time adjusted as determined by the NHLEvent monitor. Currently, it uses the ESPN.com scoreboard web page to determine the status of games. + In order to monitor an event, the subtitle of the game must describe the teams playing, usually the subtitle will be something like "Edmonton Oilers at Vancouver Canucks". If the subtitle does not include info about who's playing in the game, the monitor will not succeed and will not edit the recording time.
- NBA Basketball
+ Matching program title: 'NBA Basketball' + Monitor source: http://sports.espn.go.com/nba/scoreboard + Works exactly the same as the NHLEvent monitor above.
- Major League Baseball
+ Matching program title: 'MLB Baseball' + Monitor source: http://sports.espn.go.com/mlb/scoreboard + Works exactly the same as the NHLEvent monitor above.
- NFL Football
+ Matching program title: 'NFL Football' + Monitor source: http://sports.espn.go.com/nfl/scoreboard + Works exactly the same as the NHLEvent monitor above
- NCAA Football (Division I-A/I-AA)
+ Matching program title: 'College Football' + Monitor source: http://sports.espn.go.com/ncf/scoreboard + Works exactly the same as the NHLEvent monitor above.
- NCAA Men's Basketball (Division I)
+ Matching program title: 'College Basketball' + Monitor source: http://scores.espn.go.com/ncb/scoreboard?confId=50 + Works exactly the same as the NHLEvent monitor above.