録画サーバー構築方法(Linux編)

提供: JUNKWIKI(ジャンクウィキ)
2015年10月13日 (火) 22:51時点におけるSoutyou (トーク | 投稿記録)による版

(差分) ←前の版 | 最新版 (差分) | 次の版→ (差分)
移動: 案内検索
ChinachuのWUI

Linuxサーバーを立てましたか? 録画機能つけましょう。



はじめに

ここは、Linux鯖に録画機能を付けて録画サーバに進化させようとするページです。録画サーバがどういったものかに関しては録画サーバー入門を参照。
まだサーバを立てておらず、1から録画サーバを構築しようとしている場合、サーバー構築方法(Linux編)のSSH接続あたりまでは出来るようにしてから進もう。

なお、「構築法」なんて銘打ってますが、ほぼ構築レポみたいなもんです、悪しからず。以下参考サイトを元に進めていきます。


参考サイト

※今回使用するCentOS向け以外のサイトも含まれるので注意。


構築環境

Linux鯖構築の時と同じものを使用。

分類 名称 備考
OS CentOS 6.7 6.xのが慣れているので
マザーボード H61M-VG3 Mini-ITX並の小ささではあるが、PCI-Expressが2本挿せる
CPU Core i5 2400S 省電力版でサーバ用途に持ってこい
メモリ DDR3 8GB 多分4GBもあれば充分じゃないかな?
チューナー PT3 TS抜き出来るPC内蔵TVチューナーとしては定番中の定番
PCI-Express x1接続
カードリーダ SCR331-DI アキバで安く入手出来たもの


前準備

アップデート

一応しておく。

yum -y update

必要なパッケージたちのインストール

yum -y install kernel-devel wget unzip gcc ccid pcsc-lite pcsc-lite-devel pcsc-lite-libs git kernel-devel-`uname -r` autoconf automake

RPMForgeリポジトリの追加

どうやらRPMForgeリポジトリ使ってインストールしなきゃならないパッケージがあるようなのでインストールする。
どこでもいいけど、とりあえず/tmpに保存してインストール。

cd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

普段は使わんので設定変更。

vi /etc/yum.repos.d/rpmforge.repo

で、enable=1となっている所をenable=0にする。

perl-Gtk2をインストール

yum -y install --enablerepo=rpmforge perl-Gtk2


カードリーダ関連のインストール

B-CAS読み込まなきゃいけないからね。カードリーダ周りを使えるようにする。

pcsc-perl及びpcsc-toolのインストール。これも/tmpディレクトリでいいんじゃないかな。

wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/13/Everything/x86_64/os/Packages/pcsc-perl-1.4.8-2.fc13.x86_64.rpm
rpm -ivh pcsc-perl-1.4.8-2.fc13.x86_64.rpm
wget ftp://ftp.pbone.net/mirror/archive.fedoraproject.org/fedora/linux/releases/13/Everything/x86_64/os/Packages/pcsc-tools-1.4.16-1.fc13.x86_64.rpm
rpm -ivh pcsc-tools-1.4.16-1.fc13.x86_64.rpm

サービスの起動。

/etc/init.d/messagebus start
/etc/init.d/haldaemon start
/etc/init.d/pcscd start

ここまで終わって、B-CAS挿したカードリーダ接続して「pcsc_scan」コマンドを実行すると、なんかダーッと出てくるはず。その中に、「Japanese Chijou Digital B-CAS Card (pay TV)」の文字があれば成功らしいです。やったね。抜ける時はCtrl+Cで強制終了。


放送波復号ライブラリのインストール

arib25なるもので暗号化された放送波を復号します。ソースを拾ってきてコンパイル&インストール。

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

CentOS用にconfファイル用意&確認。

vi /etc/ld.so.conf.d/arib25.conf

で中身は

/usr/local/lib

だけでいいらしい。

ldconfig
ldconfig -p | grep libarib

で、2行ほど

       libarib25.so.0 (libc6,x86-64) => /usr/local/lib/libarib25.so.0
       libarib25.so (libc6,x86-64) => /usr/local/lib/libarib25.so

と出てきたら成功。


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

今回はPT3を使うので、そのドライバが必要。これもソースからコンパイル&インストール。

cd /tmp
git clone https://github.com/m-tsudo/pt3.git
cd pt3/
make
make install

一旦再起動。

reboot

確認してみる。 ls -la /dev/pt*video* と、実行して

crw-rw-rw- 1 root video 248, 0  8月 17 15:27 2015 /dev/pt3video0
crw-rw-rw- 1 root video 248, 1  8月 17 15:27 2015 /dev/pt3video1
crw-rw-rw- 1 root video 248, 2  8月 17 15:27 2015 /dev/pt3video2
crw-rw-rw- 1 root video 248, 3  8月 17 15:27 2015 /dev/pt3video3

みたいに出てくればOK。


recpt1のインストール

recpt1はLinux向けの録画ソフトウェア。pt1とは言うが、今回はPT3でも使える派生版を使用する。

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

ここまで来たら正常に録画出来るか確認。recpt1のコマンドの使い方は

recpt1 --b25 --strip 物理チャンネル 録画秒数 ファイル名

なので、とりあえずテストで

recpt1 --b25 --strip 27 10 /tmp/test.ts

と打ってみる(関東の場合27チャンネルはNHK、地域によって変わる)。

using B25...
enable B25 strip
pid = 1686
C/N = 31.581140dB
Recording...
Recorded 11sec

みたいに出てくれば、とりあえずうまくいっていそうな雰囲気。だめそうならここまでのインストール手順に誤りが無いか確認。
あとはWinSCPあたりでPCにtest.tsを転送して見てみよう。正常に録画番組が再生されればここまでのインストールは成功している。


Chinachuのインストール

予約録画出来ないと不便なので、最近話題?のChinachuをインストールする。インストール方法は本家が解説しているとおりに進める。

新規ユーザー作成

今までrootのままインストール作業を進めてきたけれど、新たにユーザーを作成する。Chinachuはrootで動作させるなとのこと。

sudo adduser chinachu
passwd chinachu
#(パスワードを2回入力する)

↑はchinachuというユーザーを作成しているが、これはお好きなように。
新しいユーザーでsudo使いたいので

visudo

して、最後に以下のように追記。

chinachu    ALL=(ALL)       ALL

必要そうなパッケージのインストール(適当)

yum -y install kernel-devel openssl-devel libboost-all-dev boost-devel curl git-core libtool autoconf
wget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gz
tar xvf yasm-1.2.0.tar.gz
cd yasm-1.2.0
./configure --prefix=$HOME
make
make install

インストール

sudo -i -u chinachu
git clone git://github.com/kanreisa/Chinachu.git ~/chinachu
cd ~/chinachu/
./chinachu installer

「what do you install?」と聞かれたら、初回なので1を選んでおく。割と長いのでしばらく待つ。エラーで止まってしまったら、何かパッケージが足りてない可能性が高そう。特にyasmで引っかかった。

設定

サンプルの設定ファイルをコピーして書き換えていく。

cp config.sample.json config.json
vi config.json

特に書き換えるべき点は以下。

  • Webからアクセスする際のユーザー名&パスワード
 "wuiUsers": [
    "akari:bakuhatsu"
  ],
  • Webからアクセスする際のポート番号をデフォのままにしない
    適当なポート番号に変更する
"wuiPort"        : 10772,
  • PT3のみで利用する場合、以下の部分を丸ごと削除(最初のカンマも忘れずに)
,
   {
     "name"        : "FSUSB2",
     "isScrambling": false,
     "types"       : [ "GR" ],
     "command"     : "recfsusb2n -b <channel> - -",
     "noEpg"       : true
   }

とりあえず再起動

以下の部分でちょっと引っかかってたのが再起動したら直ったので、ここらで一回挟んでおくと良いかも。

reboot

空のルール設定ファイルを作成

echo [] > rules.json

動作チェック

./chinachu service wui execute

「問題なく起動できたらCtrl+\で終了」だそうで。

番組表取得

以下の通り打つとEPGを1から取得できる。

./chinachu update -f

システムへのLSB Init Script設定

公式の手順に従って。

./chinachu service operator initscript > /tmp/chinachu-operator
./chinachu service wui initscript > /tmp/chinachu-wui
sudo chown root:root /tmp/chinachu-operator /tmp/chinachu-wui
sudo chmod +x /tmp/chinachu-operator /tmp/chinachu-wui
sudo mv /tmp/chinachu-operator /tmp/chinachu-wui /etc/init.d/
sudo chkconfig chinachu-operator on
sudo chkconfig chinachu-wui on

サービスを開始

sudo service chinachu-operator start
sudo service chinachu-wui start

セットアップ完了

これでChinachuが使えるようになりました。めでたしめでたし。

ChinachuへはブラウザにサーバーのIPアドレスとポート番号入れればアクセス出来ます。たとえば「192.168.0.200:12345」みたいな感じ。
なお、初期状態だとどんどん自動でアニメが録画されていってしまうので、3つあるルール全部消して、自分で好きに追加していくと良いかと。


関連項目