消費電力30W以下 Ubuntu13.04&PT2/PT3&epgrec サーバを作る


以前PT3で録画環境を構築し、安定運用していましたが、今回はその際に余ったPT2を2枚と新規購入したPT3を1枚の計3枚での環境構築を行ったので、その時の備忘録です。

pt2は中古で1万円以下で入手可能なようですが、新品でコストパフォーマンスを求める場合には、富士通の格安サーバ(N54L)と、pt3SCR3310-NTTComの組み合わせは当方で既に構築した経緯があります。

用意した環境

  • 消費電力30W以下のUbuntu13.04サーバ
  • PT2 2枚
  • PT3 1枚

注意事項

  • このページに記載されている事は全てメモ書きとなりますので、参考にする際は自己責任にてお願いします。
  • Linuxカーネル3.8.x系列を使っている為、PT2ドライバのインストールはイレギュラーな方法となっています。

epgrec環境構築例(本家/STZ版/UNA版)

epgrecの環境構築例が当Blog内に数パターンある為、構成別にまとめました。参考にしてください。

投稿 構成 難易度 コメント
ubuntu+epgrec(UNA版)+pt3環境構築 epgrec(UNA版) + nginx + php5-fpm epgrec(UNA版)インストールの最小構成です。
USBbootするUbuntu-NAS① epgrec+pt3+minidlna+kvm環境を構築する epgrec(UNA版) + nginx + php5-fpm USBメモリ(SSD可)にUbuntuをインストールし、録画はRAID構成のHDDに行っています。単純にディスクの延命対策と低消費電力化するテクニックを使っているだけなので、USBメモリはSSDと読み替えてもらってOKです。②、③の記事まで実行するとminidlnaやsamba、KVMまでが同居する環境になります。
ubuntu13.10+epgrec(本家)+pt3+nginx+php5-fpm 環境構築 epgrec(本家) + Apache 本家です。安定して運用出来ます。開発が止まっているようです。
ubuntu13.10+pt3+STZ版epgrec+nginx+php5-fpmの環境構築 epgrec(STZ版) + nginx + php5-fpm STZ版はepgrecやrecpt1等をまとめて公開してくれているので、組合せによるトラブルが出にくいので、構築しやすいです。最近まではSTZ版をメインに利用していました。今はUNA版に移りつつあります。
ubuntu13.10+pt3+epgrecの環境構築 epgrec(STZ版) + Apache 上記のApache版。nginxとApacheを比べるとnginx上に構築した方がweb画面の遷移が速いが、Apacheの方がセットアップは楽なのでnginxで挫折した方向け
消費電力30W以下 Ubuntu13.04&PT2/PT3&epgrec サーバを作る epgrec(STZ版) + Apache PT2を最新カーネルでビルドする方法も一緒に書いています。
組み合わせを選ぶ基準として
epgrecは本家、STZ版、UNA版と色々な版を開発者の方が出して下さっていますが、開発が既に止まっているものもあります。現状で開発が活発なのはUNA版となります。3種ともに比較させて貰いましたが、構築が一番楽なのがSTZ版、便利に使えるのがUNA版、本家は安定運用実績が多い為、カスタマイズ(プログラム修正)したい場合に向くと言う感想を持っています。
コメント欄について
各記事のコメント欄で、コメントの最初に『【雑談】』と書いてもらえれば、情報交換の為に閲覧者間での雑談に使ってもらって構いません。メールアドレスは公開されないのでフリーのメアドでも使って下さい。誹謗中傷はしない方向でお願いします。

epgrec(STZ版)インストール前のLinux環境準備

【事前準備】PT3の回路の更新

PT3の回路のバージョンが古いと上手く動かないことがあるので、PT3の回路の更新を実施。Windowsを持っていない場合には、WindowsServer2008R2の評価版でもDLしてきて、Windows7向けに書かれているwiki等を参考に必要カ所をWS2008R2に読み替えて実施。当方もWS2008R2で回路更新を実施し、問題なく完了する事を確認済みです。

Ubuntu13.04のインストール

Ubuntu13.04をDLしてから、DVDに焼き付け、普通にインストールしておきます。

NTPで時刻合わせする。

時刻があっていないと、録画時刻がずれたりするので、ntpdateで手動で時刻合わせした後に、ntpdによる時刻合わせが常にされるようにします。

sudo ntpdate s2csntp.miz.nao.ac.jp
sudo apt-get install ntp
sudo vi /etc/ntp.conf

カードリーダを使えるようにする。

sudo apt-get install pcscd libpcsclite1 libpcsclite-dev libccid pcsc-tools
pcsc_scan | grep "Japanese Chijou Digital"

コマンドの実行結果、下記が表示される事を確認

Japanese Chijou Digital B-CAS Card (pay TV)

PT3ドライバのインストール

下記で公開して下さっているので、利用させてもらいます。
https://github.com/m-tsudo/pt3

sudo echo "blacklist earth-pt1"  >> /etc/modprobe.d/blacklist.conf
git clone https://github.com/m-tsudo/pt3.git
cd pt3/
make clean && make
sudo make install
sudo reboot

PT2ドライバのインストール

wget http://hg.honeyplanet.jp/pt1/archive/b14397800eae.tar.bz2
tar -jxvf b14397800eae.tar.bz2
cd pt1-b14397800eae/driver

PT2のドライバはそのままではカーネル3.8.x系列の場合、コンパイルが通らないので、下記のように修正します。

pt1_pci.cのdiff

48c48
< static char version[] =
---
> static char version[] __devinitdata =
697c697
< static int pt1_pci_init_one (struct pci_dev *pdev,
---
> static int __devinit pt1_pci_init_one (struct pci_dev *pdev,
923c923
< static void pt1_pci_remove_one(struct pci_dev *pdev)
---
> static void __devexit pt1_pci_remove_one(struct pci_dev *pdev)
990c990
<       .remove         = pt1_pci_remove_one,
---
>       .remove         = __devexit_p(pt1_pci_remove_one),

ドライバのインストールと再起動を実施

make clean &amp;&amp; make
sudo make install
sudo reboot

再起動後にPT2、PT3のドライバが読み込まれているか確認。


ls -la /dev/pt*

crw-rw-rw- 1 root video 251, 0  9月 16 15:03 /dev/pt1video0
crw-rw-rw- 1 root video 251, 1  9月 16 15:03 /dev/pt1video1
crw-rw-rw- 1 root video 251, 2  9月 16 15:03 /dev/pt1video2
crw-rw-rw- 1 root video 251, 3  9月 16 15:03 /dev/pt1video3
crw-rw-rw- 1 root video 250, 0  9月 16 15:03 /dev/pt1video4
crw-rw-rw- 1 root video 250, 1  9月 16 15:03 /dev/pt1video5
crw-rw-rw- 1 root video 250, 2  9月 16 15:03 /dev/pt1video6
crw-rw-rw- 1 root video 250, 3  9月 16 15:03 /dev/pt1video7

arib25のインストール

wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
unzip c44e16dbb0e2.zip
cd pt1-c44e16dbb0e2/arib25
make
sudo make install

recpt1(stz版)のインストール

git clone https://github.com/stz2012/recpt1.git stz_recpt1
cd stz_recpt1/recpt1
./autogen.sh
./configure --enable-b25
make
sudo make install

録画テスト

下記のコマンドを実行して録画が出来ることを確認しておく。

recpt1 --b25 --strip 27 20 test.ts

epgdumpのインストール

下記のコマンドを実行して録画が出来ることを確認しておく。

git clone https://github.com/stz2012/epgdump.git stz_epgdump
cd stz_epgdump/
make
sudo make install

epgrecのインストール

atコマンドが使える事の確認

epgrecでは、atコマンドを使って予約録画をしているので、webサーバを実行しているユーザーがatコマンドを利用できないと、まともに動かないので、/etc/at.denyにwww-dataユーザーのアカウント名があれば削除します。

sudo vi /etc/at.deny

 

www-data << 削除対象
[/bash]

前提条件となるパッケージの導入

sudo apt-get install apache2 php5 libapache2-mod-php5 php5-cli mysql-server mysql-client php5-mysql

MySQLのデフォルトのcharsetをutf-8にしておく。

epgrecを使う上では問題にならないのですが、rails等で開発する際に、MySQLのデフォルトのcharsetがutf-8になっていないと面倒なので、事前に設定を修正しておく。

sudo vi /etc/mysql/my.cnf

下記の2行を各々の設定箇所に追加しておきます。mysqldの方は、mysql5.5でcharacter-set-serverに変更になったとの事です。


[client]
default-character-set=utf8

[mysqld]
character-set-server=utf8

MySQLにDBを作成する。

epgrecのデータベースを作成します。パスワードは適宜変更してください。

mysql -uroot -p
create database epgrec;
grant all on epgrec.* to epgrec@localhost identified by 'yourpassword';
flush privileges;

epgrec(stz版)のインストール

epgrecをインストールします。

cd /var/www
git clone https://github.com/stz2012/epgrec.git stz_epgrec
sudo chown -R www-data:www-data ./epgrec
cd epgrec

sudo cp do-record.sh.pt1 ./do-record.sh
sudo chmod 777 cache templates_c video thumbs settings
sudo chmod 666 thumbs/index.html video/index.html
sudo chmod 755 do-record.sh

sudo mv config.php.sample config.php
sudo vi config.php

config.phpを編集します。と言っても、地デジのチャンネルのコメントアウト箇所の見直し程度でしょうが。

更に、番組表の更新の為のcronジョブを設定しておきます。必要に応じてgetepgの中の時間帯を修正します。

sudo cp cron.d/getepg  /etc/cron.d/

epgrec(stz版)の設定

epgrecをインストールしたサーバにアクセスします。環境によって、IPアドレス部分は読み替えてください。


http://192.168.11.20/epgrec

後は、ウェブで設定のウィザードが出るので、その内容に沿って設定をしていきます。

タグ付けされた . ブックマークする へのパーマリンク.

コメントを残す

メールアドレスが公開されることはありません。