EpgrecUNAのインストール
セキュリティ関係の騒動があったので、更新するついでにまとめ直したメモ書き
16.04 とPT3で設定
PT3は、DKMSインストール設定済み
カードリーダは、古いバージョンで固定
2014/03/01 番組の自動更新(shepherd)について、追記
2014/08/17 14.04新規インストール、apacheのバージョンアップに伴う変更とかを追記
2016/01/07 epgrecUNAの最新版で変更されていた事項について追記
2016/05/08 php7について追記
LAMP環境、phpmyadmin環境のインストール
$ sudo apt-get install tasksel #LAMP環境を作るのに楽なので利用する
$ sudo tasksel #LAMP serverにスペースキーでチェックを入れる
「LAMP server」のインストールの途中でMySQLを管理する”root”パスワードを聞かれるので、新規に設定
$ sudo apt-get install php5 #これは手動で入れる必要がある
php7でやる場合は、不要
動作確認
Apache
Apache (httpd) は Firefox を立ち上げて、http://localhost/ にすると 「It works!」と表示されればOK
PHP
インストール直後は、まだ apache が PHP を認識していないので、再起動させる。
$ sudo /etc/init.d/apache2 restart
$ sudo su
# chown -R ユーザーネーム:ユーザーネーム /var/www/ #所有者をrootから自分に変更
# exit #rootから抜けた
$ cd /var/www/html/ #14.04のapacheから、仕様が変更になっているようだ。
$ gedit phpinfo.php #下記の1行を記述したファイルを作成
<?php phpinfo(); ?>
/var/www/htmlがデフォルトになっているので、注意
Firefoxに http://localhost/phpinfo.php と入力し、phpの詳細画面が出てくればOK
確認したら、phpinfo.phpファイルは削除しておく
phpMyAdmin
$ sudo apt-get install phpmyadmin php-mbstring php-gettext
しばらくすると設定をきかれるので、
自動再設定をする web サーバでスペースキーで [apache2] を選択。
phpmyadmin のデータベースを dbconfig-common で設定しますか? <はい>を選択
データベースの管理権限を持つユーザのパスワード:MYSQLのrootのパスワード
phpmyadmin用のmysqlアプリケーション設定のパスワードを聞かれるので、新規に設定
念のためapache2の再起動
$ sudo /etc/init.d/apache2 restart
設定
アプリケーション → プログラミング → phpmyadmin
mysql のroot でログインする。
特権タブから 新しいユーザを追加する
ログイン情報
ユーザー名:任意
ホスト: ローカルを選択
パスワード:任意
ユーザ専用データベース
同名のデータベースを作成してすべての特権を与える を選択
グローバル特権
すべてのチェックを外す
データベースタブを見て、ユーザ名のデータベースが出来ていればOK
mysqlの起動(たぶん起動しているので、再起動)
$ sudo service mysql restart
at設定(14.04では、インストールしないと駄目みたい)
$ sudo apt-get install at
Apacheユーザの「www-data」を使用禁止リストから削除します。 これをやらないと、録画できないです。
$ sudo cp -ip /etc/at.deny /etc/at.deny.org
$ sudo gedit /etc/at.deny
最終行に www-data があるので-削除
webからMplayerの実行を許可する
www-dataユーザーからMplayerコマンドを実行できるようにvideoグループに追加する
$ sudo gpasswd -a www-data video
$ cat /etc/group #videoに追加されていることを確認
再起動
recpt1のインストール
PT2用ドライバの作成方法を参照した
$ sudo apt-get install autoconf automake mercurial
$ hg clone http://hg.honeyplanet.jp/pt1/ pt1_driver #本家から最新のソースを取得
$ hg clone http://hg.honeyplanet.jp/pt1.oyama/ pt1_driver_oyama #TS split内蔵版も取得
取得後のフォルダ状況
$ ls pt1_driver*
driver recpt1
ARIB25フォルダを復旧
$ cd pt1_driver
$ hg revert -r c44e16dbb0e2 –all #allの前は、ハイフンが2つです
$ ls
arib25 b25_docs driver recpt1
$ hg revert -r tip –all #allの前は、ハイフンが2つです
$ ls
arib25 b25_docs driver recpt1
ARIB25の作成とインストール
$ cd arib25/src
$ make
$ sudo make install
recpt1のインストール
recpt1は本家のほうにhttp版のパッチを当てる。
パッチは「適当な何かの別館」さんで作成したものを今回は使用
recpt1 httpサーバ機能追加パッチ 新本家[c8688d7d6382]以降対応版をダウンロードして、recpt1フォルダに解凍
$ cd pt1_driver/recpt1
$ ls
COPYING checksignal.c decoder.h.orig recpt1.c.orig recpt1ctl.c
Makefile configure.ac mkpath.c recpt1.h tssplitter_lite.c
Makefile.in decoder.c mkpath.h recpt1.h.orig tssplitter_lite.h
autogen.sh decoder.c.orig pt1_dev.h recpt1core.c
channels decoder.h recpt1.c recpt1core.h
*recpt1-bug.diff は、本家で取り込み済みだと言うことなので当てる必要は無い
$ patch -p2 < ../recpt1-http-rev3/recpt1-http.diff
patching file configure.ac
patching file recpt1.c
patching file recpt1core.c
patching file recpt1ctl.c
patching file tssplitter_lite.c
$ patch -p2 < ../recpt1-http-rev3/tssplitter-apnd.diff
patching file tssplitter_lite.c
$ ls
COPYING checksignal.c decoder.h.orig recpt1.c.orig recpt1ctl.c
Makefile configure.ac mkpath.c recpt1.h tssplitter_lite.c
Makefile.in decoder.c mkpath.h recpt1.h.orig tssplitter_lite.h
autogen.sh decoder.c.orig pt1_dev.h recpt1core.c
channels decoder.h recpt1.c recpt1core.h
pt1_dev.hの書き換え
Pt3用に書き換える必要がある(下記のようにsedで書き換えてしまうか、必要分書き換える)PT3を使っていない場合は必要ない
$ sed -i ‘s/pt1video/pt3video/g’ pt1_dev.h
作成とインストール
$ ./autogen.sh
$ ./configure –prefix=/usr/local/ –enable-b25 #prefixとenableの前はハイフン2つ
$ make
$ sudo make install
コマンド確認
$ recpt1 –help #ハイフン2つ
Usage:
recpt1 [–b25 [–round N] [–strip] [–EMM]] [–udp [–addr hostname –port portnumber]] [–http portnumber] [–device devicefile] [–lnb voltage] [–sid SID1,SID2] channel rectime destfile
Remarks:
if rectime is ‘-‘, records indefinitely.
if destfile is ‘-‘, stdout is used for output.
(長いので、以下省略)
単体テスト 動くかどうかを確認しておく
recpt1 –b25 –strip 17 20 test.ts #17chを20秒録画という意味 どちらも、ハイフン2つ
using B25…
enable B25 strip
pid = 3763
C/N = 32.468626dB
Recording…
Recorded 21sec
test.tsが出来ていて、視聴出来ればOK(出来てなければ、正常にインストールが出来ていないので、最初から確認)
epgrec UNA用epgdumpのインストール
$ cd epgdump
$ make
$ sudo make install
epgrec UNAのインストール
config.phpは、変更されているので、要確認(下記の情報は、古いままです。)
$ cd epgrec
$ sudo gedit config.php
チャンネルマップの変更(行数を変えないように上書きしておく)チャンネルは、自分のメモ書き
“GR27” => “19”, // 東北放送
“GR26” => “13”, // NHKEテレ
“GR25” => “17”, // NHK総合
“GR22” => “24”, // ミヤギテレビ
“GR21” => “28”, // 東日本放送
“GR24” => “21”, // 仙台放送
“GR23” => “22”, // JCOMHD
“GR20” => “15”, // JCOM
チューナーの数
define( “TUNER_UNIT1”, 2 ); // 第一チューナーの各放送波の論理チューナ数(地上波・衛星波で共用 ex.PT1が1枚なら2)
// PT1キャラデバ版ドライバー使用時に変更すること
define( “USE_RECPT1”, TRUE ); // recpt1使用時はTRUEにすること
define( “RECPT1_EPG_PATCH”, TRUE ); // recpt1 EPG単独出力パッチ使用時はTRUE
// リアルタイム視聴
define( “REALVIEW_HTTP”, TRUE ); // リアルタイム視聴を有効にするときはtrueに
// PT1_REBOOTをTRUEにする場合は、root権限で visudoコマンドを実行して
// www-data ALL = (ALL) NOPASSWD: /sbin/shutdown
// の一行を追加してください。詳しくは visudoを調べてください。 # sudo visudo で、%admin ALL=(ALL) ALLの下に書けばOK
define( “PT1_REBOOT”, TRUE ); // PT1が不安定なときにリブートするかどうか
事前の設定箇所は、とりあえずこんな感じ
インストール先は、階層を深くした方が良いと言うことなので階層を深くする
あわせて、indexhtmlを置いて置くことを忘れないように
※do-record.sh初買わないで良くなったようなので、下記3行は必要なし
$ sudo chmod 755 do-record.sh
$ cd ..
$ sudo cp -a ./epgrec /var/www/html/○○○/epgrec #○○○は、自分で好きなだけ階層を深くする
以下は、初回起動時の設定
http://IPアドレス/○○○/epgrec/ と、ブラウザ上から開く
1ページ目
パーミッションのチェック 必要な箇所は修正する
2ページ目
MySQL接続ユーザー名、MySQL接続パスワード、使用データベース名は、それぞれ設定したものに変更
インストールURLは、階層を修正、localhostはIPアドレスにしておく
サムネールの使用は、使用する ffmpegをインストールすること
3ページ目
地デジチューナーの数、 BSチューナの数は、それぞれ2 CSを録画する場合は、行うに
録画開始の余裕時間は、10秒 録画ファイルの形式名は、%TITLE%に
4ページ目
初回EPG受信をgetepg.phpとshepherd.phpのどちらで行うか選択できるので、shepherd.phpを選択
5ページ目
EPGの初回受信を行います。9分程度後にepgrecのトップページを開いてください。と出るので、待つ
当たり前だけど、放送時間中じゃないと受信は出来ない
epgrecのトップページに戻ったら、無事に番組表が表示されればOK
自動更新の設定 3/1 修正
このままだと、自動更新がうまくいかない。shephedは、通常の階層構成になっているので、修正が必要
$ sudo gedit /var/www/html/○○○/epgrec/cron.d/shepherd
29 */2 * * * www-data /var/www/html/○○○/epgrec/shepherd.php #というように、最後の行の階層を直しておかないと駄目
$ sudo cp /var/www/○○○/epgrec/cron.d/shepherd /etc/cron.d/ #4ページ目の時に自分の更新方法が表示されているので、コピーしておくと楽
録画テスト
地上波×2 BS×1 CS×1 の同時録画を予約設定する
録画後にサムネイルが無事に出来れば、OK
視聴テスト
録画した番組の視聴と、番組表からのリアルタイム視聴に異常が無ければ、OK
リアルタイム視聴は、始まるまで数秒かかるので、待つこと
config.xmlの移動
2013/12/29版から ./settings/config.xmlを/etc/epgrecUNA/config.xmlに移動させる事が出来るそうです
外部から config.xmlを見られなくなり MySQLのパスワードを盗まれるのを防げるということで、
初回起動後に、移動させておく。
最後に保存場所の変更
ebgrecのデフォルト表示は、「/video」 となっているが、録画保存ディレクトリは、「~/epgrec/video」
SSDで容量がないので、保存先を、別HDDにする。
$ ln -s /media/sdc1/share/video /var/www/html/○○○/epgrec/video #自分の階層に合わせる
最後に apacheでBasic認証 Ubuntu14.04版 を参照して、認証を設定しておく
ダイジェスト認証 でも良いけど、こちらもapacheのバージョンアップで少し設定を変えないと使えないみたいですね
設定すると、サムネイルから視聴の際にパスワードを求められるが、安全のためには、しょうがないね
視聴用のMplayerは、 Mplayer(vaapi対応)の導入 を参照なんだけど、エラー出て導入出来ませんね
とりあえず、VLCを入れると、録画のサムネイルからは、視聴出来たが、リアルタイムは出来ないね。