epgrec UNA
てきとうな何かの別館さんで、公開されている本家との互換性がなく、
epgrec3/22fix版のブランチ版という事です。
主な機能として
予約重複判定をチューナー割り振りを考慮した処理に刷新(異種チューナー混在対応)
番組追従性を向上(録画開始前にEPGを更新・EIT[p/f]対応)
地デジ・マルチ編成対応
BS/CS新規チャンネル自動登録(放送波より取得)
EPG更新時間の短縮(複数チューナーでの並列受信化)
リアルタイム視聴対応
UIの拡張・改良
リアルタイム視聴など、私がほしいと思っている機能を普通に搭載しているので、
こちらに乗り換えてみます。
LAMP環境、phpmyadmin環境のインストール
必要なpackageのインストール
$ sudo apt-get install tasksel #LAMP環境を作るのに楽なので利用する
$ sudo tasksel #LAMP serverにスペースキーでチェックを入れる
「LAMP server」のインストールの途中でMySQLを管理する”root”パスワードを聞かれるので、新規に設定
$ sudo apt-get install php5 php5-cli #これは手動で入れる必要があるらしい
動作確認
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/
$ gedit phpinfo.php #下記の1行を記述したファイルを作成
<?php phpinfo(); ?>
Firefoxに http://localhost/phpinfo.php と入力し、phpの詳細画面が出てくればOK
確認したら、phpinfo.phpファイルは削除しておく
(間違って外部に公開したりするとまずいので・・・)
phpMyAdmin
$ sudo apt-get install phpmyadmin
しばらくすると設定をきかれるので、
自動再設定をする web サーバでスペースキーで [apache2] を選択。
phpmyadmin のデータベースを dbconfig-common で設定しますか? <はい>を選択
データベースの管理権限を持つユーザのパスワード:MYSQLのrootのパスワード
phpmyadmin用のmysqlアプリケーション設定のパスワードを聞かれるので、新規に設定
念のためapache2の再起動
$ sudo /etc/init.d/apache2 restart
phpmyadminを使わずに作成してみる
(phpmyadminを使う場合は Ubuntu10.10で録画鯖を作ってみた その2 録画機能 を参照)
$ mysql -u root -p #パスワードを聞かれるので、mysqlのrootパスワードを入力
DBの作成
mysql> create database データベース名; #作成したいデータベース名で作成
ユーザーの作成
mysql> grant all privileges on *.* to ユーザー名@localhost identified by ‘パスワード’;
変更を適用
mysql> flush privileges;
ユーザーの確認
mysql> SELECT Host, User, Password FROM mysql.user WHERE User=’ユーザ名’;
データベースの確認
mysql> show databases;
それぞれ設定したものが表示されていればOK
ctrl + d か quit mysqlからで抜ける
mysqlの起動
$ sudo service mysql start
at設定(念のためにインストール)
$ sudo apt-get -y 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に追加されていることを確認
再起動
カードリーダのドライバを導入、
$ sudo apt-get install libccid pcsc-tools pcscd
$ pcsc_scan
確認すると、相変わらずスマートカードリーダ関係は新しいとだめらしいので、ダウングレードで
入れ直す
$ wget http://ftp.jaist.ac.jp/pub/Linux/ubuntu//pool/universe/p/pcsc-tools/pcsc-tools_1.4.16-1_amd64.deb
$ wget http://security.ubuntu.com/ubuntu/pool/universe/p/pcsc-lite/pcscd_1.5.5-3ubuntu2.1_amd64.deb
$ wget http://security.ubuntu.com/ubuntu/pool/main/p/pcsc-lite/libpcsclite-dev_1.5.5-3ubuntu2.1_amd64.deb
$ wget http://security.ubuntu.com/ubuntu/pool/main/p/pcsc-lite/libpcsclite1_1.5.5-3ubuntu2.1_amd64.deb
$ wget http://ftp.jaist.ac.jp/pub/Linux/ubuntu//pool/universe/c/ccid/libccid_1.3.11-1_amd64.deb
インストール
$ sudo dpkg -i *.deb
依存関係の問題で、2~3回やれば通る。
次に、パッケージが変更されないように設定しておく
その他 → Synapticパッケージマネージャー
上部メニューにあるパッケージからバージョン固定を選択すると、鍵マークついて、バージョンが
固定される
libccid version 1.3.11-1
libpcsclite-dev version 1.5.5-3ubuntu2.1
libpcsclite1 version 1.5.5-3ubuntu2.1
pcsc-tools version 1.4.16
-1
pcscd version 1.5.5-3ubuntu2.1
ここまでできたら、再度確認
$ pcsc_scan | grep B-CAS
Japanese Chijou Digital B-CAS Card (pay TV)
という表記が出れば OK Ctrl + c で停止させる。
apt-getでもバージョンが変わらないように、設定ファイルを作成
$ sudo gedit /etc/apt/preferences.d/pcsc
package: libccid
Pin: version 1.3.11-1
Pin-Priority: 900
package: libpcsclite-dev
Pin: version 1.5.5-3ubuntu2.1
Pin-Priority: 900
package: libpcsclite1
Pin: version 1.5.5-3ubuntu2.1
Pin-Priority: 900
package: pcsc-tools
Pin: version 1.4.16-1
Pin-Priority: 900
package: pcscd
Pin: version 1.5.5-3ubuntu2.1
Pin-Priority: 900
$ sudo gedit /etc/modprobe.d/blacklist.conf
最終行に blacklist earth-pt1 を追記
再起動
ARIB STD-B25(本来なら、最新版を使うべきだが、今回は最新版の0.24がここにあるので
利用させてもらう)
$ sudo apt-get install build-essential
$ wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
$ unzip c44e16dbb0e2.zip
$ cd pt1-c44e16dbb0e2/arib25
$ make
$ sudo make install
HTTP版recpt1のインストール
推奨されているので、まずこれを入れてみます。
2012/2/8現在、recpt1 httpサーバー版RC4が最新版のようです。
pt1_pci.c は、前回と同様にダウンロードしておいた物を使用
$ wget http://2sen.dip.jp/cgi-bin/pt1up/source/up0298.gz
$ tar xvzf up0298.gz
ドライバのインストール
$ cp pt1_pci.c ./pt1-http-rc4/driver
$ cd ./pt1-http-rc4/driver
$ make
$ sudo make install
recpt1のインストール
あわせて、recpt1 EPG用TS出力モード追加パッチをダウンロード
$ tar xvzf recpt1_epg_slim.tar.gz
$ cd ../recpt1
$ patch < ../../recpt1_epg_slim/recpt1_epg_slim.patch
$ sudo apt-get install autoconf
$ ./autogen.sh
$ ./configure –enable-b25
$ make
$ sudo make install
epgrec UNA (人柱版 2011/12/25)のインストール(2012/2/8現在、最新版)
これに合わせて、epgrec UNA (人柱版 2011/12/25)Fix2および
recpt1 EPG用TS出力モード追加パッチをダウンロード
epgrec UNA用epgdump 111214版をダウンロード
(epgdumpはこれでないと、動かないそうです)
HPからダウンロードして、解凍
$ tar xvzf epgrec_UNA_111225.tar.gz
$ tar xvzf epgrecUNA111225fix2.tar.gz
$ tar xvzf epgdump_UNA_111214.tar.gz
epgdumpのインストール
$ cd epgdump
$ make
$ sudo make install
epgrecのインストール
epgrec UNA (人柱版 2011/12/25)Fix2
$ cp storeProgram.inc.php ./epgrec
$ cd ../../epgrec
$ chmod a+rxw cache settings templates_c video thumbs #パーミッションの変更
$ sudo gedit config.php
以下の設定が増えております。使用環境に合わせて変更してください。
最低限”TUNER_UNIT1″と”USE_RECPT1″だけは、設定してください。
define( “TUNER_UNIT1”, 2 ); // 第一チューナーの各放送波の論理チューナ数(地上波・衛星波で共用 PT1が1枚なら2)
define( “TUNER_UNIT2”, 0 ); // 上記以外の論理チューナ数(未使用)
define( “USE_RECPT1”, TRUE); // recpt1使用時にTRUEにすること
define( “RECPT1_EPG_PATCH”, TRUE ); // recpt1 EPG用TS出力モード追加パッチ使用時はTRUE
define( “REALVIEW_HTTP”, FALSE ); // リアルタイム視聴を有効にするときはtrueに
define( “REALVIEW_HTTP_PORT”, “8888”); // リアルタイム視聴のポート番号
define( “REALVIEW_PID”, “/tmp/realview” ); // リアルタイム視聴チューナーPID保存テンポラリ
define( “PS_CMD”, “ps -u www-data -f” ); // 実行中コマンドのPID取得に使用
define( “RECPT1_CTL”, “/usr/local/bin/recpt1ctl” ); // recpt1のコントロールコマンド
define( “PT1_REBOOT”, FALSE ); // PT1が不安定なときにリブートするかどうか
define( “REBOOT_CMD”, ‘sudo /sbin/shutdown -r now’ ); // リブートコマンド
define( ‘FIRST_REC’, 80 ); // EPG[schedule]受信時間
define( ‘SHORT_REC’, 6 ); // EPG[p/f]受信時間
define( ‘REC_RETRY_LIMIT’, 60 ); // 録画再試行時間
define( “GR_PT1_EPG_SIZE”, (int)(1.1*1024*1024) ); // GR EPG TSファイルサイズ(PT1)
define( “BS_PT1_EPG_SIZE”, (int)(5.5*1024*1024) ); // BS EPG TSファイルサイズ(PT1)
define( “CS_PT1_EPG_SIZE”, (int)(4*1024*1024) ); // CS EPG TSファイルサイズ(PT1)
define( “GR_OTH_EPG_SIZE”, (int)(170*1024*1024) ); // GR EPG TSファイルサイズ
define( “BS_OTH_EPG_SIZE”, (int)(170*3*1024*1024) ); // BS EPG TSファイルサイズ
define( “CS_OTH_EPG_SIZE”, (int)(170*2*1024*1024) ); // CS EPG TSファイルサイズ
define( “GR_XML_SIZE”, (int)(300*1024) ); // GR EPG XMLファイルサイズ
define( “BS_XML_SIZE”, (int)(4*1024*1024) ); // BS EPG XMLファイルサイズ
$ sudo chmod 777 do-record.sh
$ cd ..
$ sudo cp -a ./epgrec /var/www/epgrec
録画と視聴テスト
$ recpt1 –b25 –strip 17 30 test.ts #17chを30秒録画する
$ mplayer test.ts
録画したtest.tsが、表示されればOK
epgrecの設定
番組情報を取得するので昼間でないと駄目 夜中だと番組取得ができない
使用しているブラウザのアドレスバーに「http://IPアドレス/epgrec/」と入力してEnterキーを押す。
epgrecのインストール状態がチェックされるので、OKならばそのまま。駄目な箇所はパーミッションを修正する
問題がなければ、「以上を確認し次の設定に進む」をクリック。
「インストールステップ2」で「MySQL接続ユーザー名」はMySQLの設定をしたときの接続ユーザー名
「MySQL接続パスワード」はMySQLの設定をしたときの接続パスワード
「使用データベース名」はMySQLの設定をしたときのデータベース名
インストールURLは、 localhostをIPアドレスに変更する
サムネールの使用 を 使用するに変更
「ffmpegのパス」は、フルパスを記載
それ以外の項目はそのままとし、「設定を保存する」をクリック。
「インストールステップ3」で「地デジチューナーの台数」は「2」にします。
「BSチューナーの台数」は「2」にします。
「CS録画の有無」は「行なう」にした。
それ以外の項目はそのままとし、「設定を保存する」をクリック。
step4にて初回EPG受信を元来のgetepg.phpと並列受信EPG取得スクリプトshepherd.phpのどちらで
行うか選択できるので、shepherd.phpを選択して、15分ほど待つ。
自動更新の設定
$ sudo cp /var/www/epgrec/cron.d/shepherd /etc/cron.d/
保存場所の変更
ebgrecのデフォルト表示は、「/video」 となっているため、録画保存ディレクトリは、「/var/www/epgrec/video」
「/var /www/epgrec」より上のディレクトリを録画保存ディレクトリとして指定することはできないそうです。
SSDで容量がないので、保存先を、別HDDにする。
$ ln -s /media/sdb1/share/video /var/www/epgrec/video
追記
DBのアップグレードが必要な場合
epgrecフォルダ内で
$ ./upgrade_db.php #これで、アップグレードスクリプトが動くらしい