CentOSでホームサーバを作ろう
PT2を使って録画する(録画予約編ー後編)
最終更新:
centos-homeserver
-
view
はじめに
epgrecを使用して録画予約を実現する(後編)。
EPGrecの導入(ブラウザによる初期設定)
http://(サーバーのIPアドレス)/epgrec を開く
Step-1(サーバファイル状態の確認と地デジチャンネル設定)
必要なファイルやディレクトリのパーミッションが全てOKであることを確認し、
自宅の地デジ配信がケーブルテレビ経由なら「ケーブルテレビを使用」にチェックを入れて、
「スキャンを開始する」を押下する。
地デジのスキャンが開始されて、暫く待つと設定の結果確認画面に遷移する。
問題無いようであれば(自宅のテレビの地デジ設定などと比較。)、次の設定に進む。
自宅の地デジ配信がケーブルテレビ経由なら「ケーブルテレビを使用」にチェックを入れて、
「スキャンを開始する」を押下する。
地デジのスキャンが開始されて、暫く待つと設定の結果確認画面に遷移する。
問題無いようであれば(自宅のテレビの地デジ設定などと比較。)、次の設定に進む。
Step-2(MySQLデータベース設定)
設定 | 設定値 |
ホスト名 | localhost EPGrecと同じサーバでMySQLも実行されるのでlocalhost |
接続ユーザー名 | 前編で設定したユーザ名(例:epgrec) |
接続パスワード | 前編で設定したパスワード(例:epgrec) |
使用データベース名 | 前編で設定したユーザ名(例:epgrec) |
テーブル接頭辞 | デフォルト設定のまま(Recorder_) |
インストールURL | http://(サーバーのIPアドレス)/epgrec |
録画保存ディレクトリ | デフォルト設定のまま(/video) |
サムネールの使用 | する |
ffmpegのパス | インストールされたパスを指定 CentOSではデフォルトの設定で問題無かった。/usr/bin/ffmpeg |
サムネール保存ディレクトリ | デフォルト設定のまま(/thumbs) |
EPG取得用テンポラリファイルの設定 | デフォルト設定のまま (録画データ:/tmp/__temp.ts XMLファイル:/tmp/__temp.xml) |
使用コマンドのパス設定 | デフォルト設定のまま (一応whichコマンドで確認しても良いが、多分問題無し。) |
Step-2(デジタルチューナー設定)
- デジタルチューナー設定
地デジチューナーの台数 | 2 |
BSチューナーの台数 | 2 |
CS録画の有無 | あり |
- 録画関連設定
録画開始の余裕時間(秒) | デフォルト設定のまま(20) |
録画時間を長めにする | デフォルト設定のまま(0) |
連続した番組の予約 | デフォルト設定のまま(行わない) チューナーが2台あるので連続した番組の自動調整は行わないようにする。 |
録画コマンドの切り替え時間 | デフォルト設定のまま(5) |
優先する録画モード | デフォルト設定のまま(Full TS) |
mediatomb連係機能 | デフォルト設定のまま(使わない) まだmediatombを未導入なので、とりあえず不使用にしておく。 |
録画ファイル名の形式 | とりあえず「%TYPE%_%CH%_%ST%_%ET%」にする (ほとんどデフォルト設定のまま) |
- 番組表表示設定 ←使ってみてから、調整した方が良いということなのでデフォルトにしておく
ページに表示する番組表の長さ(時間) | デフォルト設定のまま(8) |
1局あたりの幅 | デフォルト設定のまま(150) |
1時間あたりの高さ | デフォルト設定のまま(120) |
Step-4(EPGデータの取得)
とりあえず、初期設定が完了したので、ブラウザを閉じて
コマンドラインから”/var/www/html/epgrec/getepg.php &”を実行する。
ブラウザからリンクをクリックして開始するのは時間がかかりそうなので。
(自分の環境だと約15分ほどかかった。)
コマンドラインから”/var/www/html/epgrec/getepg.php &”を実行する。
ブラウザからリンクをクリックして開始するのは時間がかかりそうなので。
(自分の環境だと約15分ほどかかった。)
cronの登録(EPGデータの自動取得)
Debian Linux用のcron設定ファイルが、"/var/www/html/epgrec/cron.d/getepg"にあるので
それを使用してcronの登録を行う。(具体的にはファイルのコピーと内容の一部変更。)
ちなみに2時間ごとに取得するようになっているので、"*/2"の"2"の箇所を修正すれば、
〜時間ごとに取得というように変更できる。
それを使用してcronの登録を行う。(具体的にはファイルのコピーと内容の一部変更。)
ちなみに2時間ごとに取得するようになっているので、"*/2"の"2"の箇所を修正すれば、
〜時間ごとに取得というように変更できる。
$ cp -p /var/www/html/epgrec/cron.d/getepg /etc/cron.d/
$ chmod 644 /etc/cron.d/getepg ファイルの権限が755のままだと実行エラーが出てしまうため
$ vi /etc/cron.d/getepg
29 */2 * * * www-data /var/www/epgrec/getepg.php
↓(下のように変更する。)
29 */2 * * * apache /var/www/html/epgrec/getepg.php
Debianではapacheはwww-dataユーザで実行されるが、CentOSではapacheユーザであり、
getepg.phpファイルのパスもDebianと異なっているので修正する。
※念のため、実行ログも確認すれば確実。
getepg.phpファイルのパスもDebianと異なっているので修正する。
※念のため、実行ログも確認すれば確実。
おわりに
録画予約はatコマンドにてサーバに登録される。その内容を確認するには、
- "atq" 一覧表示。開始時刻と登録番号が表示される。
- "atq | sort -k 2" 開始時間でソートする。
- "at -c 番号" 上の登録番号を指定するこで登録されたジョブのコマンド内容が表示される。
※atコマンドの詳細はmanで調べること。
気になる事
- 「連続した番組の予約」を「行わない」にすると、2番組連続のところが2チューナーでさばけないケースがある。
(なぜか同じチューナーで連続して割当られてしまう場合がある)割り当てアルゴリズムを調査する必要がある。(※今後の課題)
- 参考