Giter Site home page Giter Site logo

bmalynovytch / hdhomerun-plain-scheduler Goto Github PK

View Code? Open in Web Editor NEW

This project forked from gboudreau/hdhomerun-plain-scheduler

0.0 1.0 0.0 95 KB

Recordings scheduling system using plain-text files for HDHomeRun tuners

License: GNU General Public License v3.0

PHP 97.19% Hack 2.81%

hdhomerun-plain-scheduler's Introduction

HDHomeRun Plain-Text Scheduler

Recordings scheduling system using plain-text files for HDHomeRun tuners

Example recording schedule:

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

Requirements:

  • 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, ...)

Install

  • Copy config.example.php to config.php, and edit as required;
  • Copy schedules.example.txt to schedules.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

Web UI

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).

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.