Recordings scheduling system using plain-text files for HDHomeRun tuners
See the schedules.example.txt file for more examples, and more details about the file format (eg. how to use comments).
Record
serie Game of Thrones
episode S7E08
named The Final FINAL episode
on channel 17.1
on date 2017-08-19
at 09:00
duration 1h07m
save to /path/to/recordings/
Episode name is optional, as is the episode ID (SxxEyy); if not specified, the date of the recording will be used (SyyyyEmmdd).
Save to
path is also optional, if you define a default in the config.php
file.
The final recorded file will be saved as /path/to/recordings/Serie/Season xx/Serie SxxEyy Ep name.ts
- Linux (PR for Windows compatibility are welcome)
- PHP 7.x
- cURL module for PHP
exec()
available (it is used to spawn new PHP processes to handle individual recordings)- Optional: web server (Apache, nginx, ...)
- Copy
config.example.php
toconfig.php
, and edit as required; - Copy
schedules.example.txt
toschedules.txt
, and edit to list all the recordings you'd like to schedule; - Install composer (if you don't already have it), and run:
composer install
- Add a cron job that will run every minute, to start recordings as needed:
crontab -l > mycron
echo >> mycron
echo '# HDHomeRun Plain-Text Scheduler' >> mycron
echo '* * * * * php /path/to/hdhomerun-plain-scheduler/bin/cron.php' >> mycron
crontab mycron
rm mycron
There is a very simple web UI to monitor your scheduled recording, and add new ones.
To use it, simply point your favorite HTTP server to the web/
sub-folder. It contains an index.php
file that will be used to serve web content.
Of note: make sure the user running the HTTP server can read your schedules & log files, and optionally write to your schedules file (if you want to be able to create new schedules from the web).