Ubuntu で録画用サーバの構築
興味本位の個人的な実験です。
内容の真偽等に関して問われても知りません。
環境は Ubuntu 10.10 Desktop Edition (日本語 Remix) on Atom (D525MW)。
カードリーダは SCR3310-NTTCom。
PCI の確認
lspci | grep Multimedia
を実行。これで何も出ない場合は、デバイスを認識できていない可能性が高い。
私の環境では最初何も出なくて、確認してみたら上手く挿さっていなかった。。
以降、PCやサービスの再起動は明示しないが、ドライバインストール後など随所で再起動のこと。
ドライバのインストール
準備
sudo aptitude -y install build-essential linux-headers-`uname -r`
ドライバのダウンロード
ここからダウンロード。
リポジトリなので、たぶん最新のものがダウンロードできるはず。
執筆時点では pt1-7662d0ecd74b.tar.bz2。
以下、これを解凍したディレクトリを $TIP_DIR で表す。
コンパイルとインストール
cd ${TIP_DIR}/driver make sudo make install
カードリーダ
準備
sudo aptitude -y install libccid pcsc-tools
確認
pcsc_scan
録画用意
準備
sudo aptitude -y install autoconf libpcsclite-dev
DRV 無効化
Ubuntu 10.10 デフォルトの DRV が録画用プログラムと競合するそうなので、無効化。
/etc/modprobe.d/blacklist.conf
を編集して、末尾に
blacklist earth-pt1
と追記。
ARIB STD-B25 仕様確認テストプログラム
最新のリビジョンには付属していないので、
ここから古いファイルをもらってくる。
cd pt1-c44e16dbb0e2/arib25 make sudo make install
録画テスト用プログラム
cd ${TIP_DIR}/recpt1 ./autogen.sh ./configure --enable-b25 make sudo make install
録画テスト
準備
sudo aptitude -y install vlc
録画
recpt1 --b25 --strip 27 5 test.ts
再生
vlc test.ts
録画サーバの構築
EPGrecというものを使うことにする。
ここを参考に。
apache のインストール
sudo aptitude -y install apache2
apache の設定
- /etc/apache2/conf.d/security
- ServerTokens Minimal (どうせ ServerSignature Off だから意味ないけど)
- ServerSignature Off
- /etc/apache2/sites-available/default
- $DOCROOT
- Options Indexes を -Indexes に
- AllowOverride All
- Order deny,allow
- Deny from all
- Allow from 127.0.0.0/255.0.0.0 ::1/128
- /doc/
- Indexes を -Indexes に
- $DOCROOT
- /etc/apache2/conf.d/epgrec.conf
<Directory ${DOCROOT}/epgrec> Order deny,allow Deny from all Allow from 127.0.0.0/255.0.0.0 ::1/128 Allow from <録画を行うクライアント> </Directory>
MySQL のインストール
sudo aptitude -y install mysql-client mysql-server
MySQL の設定
$ mysql -u root -p mysql mysql> CREATE DATABASE epgrec DEFAULT CHARACTER SET utf8; mysql> GRANT ALL PRIVILEGES ON epgrec.* TO epgrec@localhost IDENTIFIED BY '****';
epgdump
参考ページの「インストール前の準備」から、
epgdumpr2-utf8.tar.gz をもらってきてインストール。
make sudo install -m 0755 epgdump /usr/local/bin
epgrec
SourceForgeからダウンロード。
執筆時点での最新版は epgrec-20100322.tar.gz。
今回は /home パーティションにほとんどすべての容量を割り当てているので、/home パーティション以下に解凍し、${DOCROOT}/epgrec に bind する。
epgrec の解凍先を $EPGREC_DIR と書くことにすると、
mount --bind $EPGREC_DIR ${DOCROOT}/epgrec
/etc/fstab に
$EPGREC_DIR ${DOCROOT}/epgrec none bind 0 0
と書いておくと良い。
at の設定
/etc/at.deny から www-data を削除。
MediaTomb の設定
結論から先に述べると、結構面倒なので、当面は PMS を使います。
MediaTomb のインストール
普通は
sudo aptitude -y install mediatomb
でOK。
BRAVIA を使いたい場合は、
公式からソースをもらってきて解凍した後、
ここからパッチをもらってきて、
cd mediatomb-0.12.1 patch -p0 < mediatomb-0_12_1_bravia_support_0_1_patch.txt
あとは普通に make するだけだが、コンパイルのために
sudo aptitude -y install libmysqlclient-dev libexpat-dev
が最低限必要。
ここまでやってようやくコンパイルが可能に。
詳しいことはここを参照。
設定ファイルを作るのが面倒なので、後者の場合も先に一度 aptitude でインストールしておくと良いかも?
MySQL データベース作成
$ mysql -u root -p mysql mysql> CREATE DATABASE mediatomb; mysql> GRANT ALL PRIVILEGES ON mediatomb.* TO mediatomb@localhost IDENTIFIED BY '****';
/etc/mediatomb/config.xml
<sqlite3 enabled="no"> ... <mysql enabled="yes"> ... <password>****</password> ... <protocolInfo extend="yes"/> ## PS3 はないけど。。 ... <import hidden-files="no"> <filesystem-charset>UTF-8</filesystem-charset> <metadata-charset>CP932</metadata-charset> ... <map from="avi" to="video/divx"/> ## やっぱり PS3 はないけど。。 <map from="avi" to="video/divx"/> <map from="jpg" to="image/jpeg"/> <map from="jpeg" to="image/jpeg"/> <map from="gif" to="image/gif"/> <map from="png" to="image/png"/> <map from="m4v" to="video/mp4"/> <map from="mp4" to="video/mp4"/> <map from="mpg" to="video/mpeg"/> <map from="mpeg" to="video/mpeg"/> <map from="m2t" to="video/mpeg"/> <map from="m2ts" to="video/mpeg"/> ...
準備
sudo aptitude -y install ffmpeg mplayer
インストール
ここからプログラムをもらってきて、/usr/local/pms とかに解凍。
念のためhttp://2sen.dip.jp/dtv/から pms avcmod plus とかももらってきて、同ディレクトリに解凍しておいた。
使い方
cd $PMS_DIR sudo ./PMS.sh
設定
GUI から設定を行う。
「表示/共有設定」の共有フォルダに ${DOCROOT}/epgrec/video を追記して、上の保存を選ぶ。
EPGrec の設定
準備
sudo aptitude -y install php5 php5-mysql
オプショナルで
sudo aptitude -y install ffmpeg
ついでに色々編集するのにシンタックスハイライトが使えると便利なので、vim をインストールしておいた。
sudo aptitude -y install vim
config.php
$EPGREC_DIR 内の config.php.sample を config.php という名前でコピー。
マスプロ電工の相談窓口を見ながらチャンネルマップ ($GR_CHANNEL_MAP) を適切に編集。
do-record.sh
$EPGREC_DIR 内の do-record.sh.pt1 を do-record.sh という名前でコピーして、
OUTPUT=test.ts CHANNEL=27 DURATION=5 TUNER=0 MODE=0 TYPE=GR ${EPGREC_DIR}/do-record.sh
でテスト。
初期設定
http://localhost/epgrec/ にアクセス。
エラーがなければ次に進む。
インストール関連設定
インストール URL を localhost から LAN 内固定 IP に変更。
興味本位でサムネールを使用する設定に。
デジタルチューナー設定
- 地デジチューナーの台数: 2
- BSチューナーの台数: 2
- 連続した番組の予約: 行う
この画面 (step3.php) が真っ白で表示されない場合、php5-mysql がインストールされていない可能性が高い。
インストールしていてもダメな場合には、apache の再起動などを行ってみること。
cron の設定
sudo cp ${EPGREC_DIR}/cron.d/getepg /etc/cron.d/
そんなに頻繁に取得する必要もないので、4 時間おきくらいに設定を変更しておく。
もしものときの手動EPG受信
/var/www/epgrec/getepg.php