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  #これで、アップグレードスクリプトが動くらしい

Leave a comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


 

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)