Edited at

RasPi 3で録画サーバー構築(Chinachu)

More than 1 year has passed since last update.


まえがき

最近、TV番組をリアルタイム視聴するのが苦になってきたので、番組録画ができるものを探していました。

しかし、既製品を買うのはなんだか面白くないので、ラズパイで宅内用に録画サーバー構築に挑戦することにしました。

色々試行錯誤したので、忘れないためにも投稿。


注意書き


  • 個人的に利用することを目的として構築しています。録画データをWEBにアップロードしたりすると、著作権に触れると思われるのでご注意ください。

  • ド素人が書いていますので、手順に謝り等がある可能性がございます。もしご自身でサーバ構築される際は、自己責任でお願い致します。


用意したもの


ラズパイ本体

Raspberry Pi3 Model B ボード&ケースセット 3ple Decker対応 (Element14版, Pink)

¥4,571


ICカードリーダー

SCM ICカードリーダー/ライター B-CAS・住基カード対応 SCR3310/v2.0

¥1,899


ドングル

PLEX USB接続ドングル型地上デジタルTVチューナー PX-S1UD V2.0

¥4,571


SDカード

家にあった16GBを使用。8GBあれば良いようです。


コード類

USB式のキーボード、HDMIケーブル、LANケーブル


外付けHDD

I-O DATA HDD 外付けハードディスク 2TB PC/テレビ録画/日本製/土日サポート EX-HD2CZ

¥6,708

2TBじゃ少ないかも。。。(知人曰く5TBは必要らしい)


ラズパイの設定


RaspbianをSDカードに焼くまで


RaspbianのDL

公式サイトRASPBIAN STRETCH LITEのZIPファイルをDLする。


SDカードをフォーマット(Mac)

SDカードのフォーマット を参照ください。


RaspbianをSDカードに焼く(Mac)

MACでOSイメージを焼く を参照ください。


ラズパイを起動

キーボードとモニターに接続して、電源ON。

raspberry login: と表示されれば起動OK!


画面右上にイナズママークがチラチラ表示される(トラブルシューティング)

こんな表示が右上に表示される場合は、電源供給不足です。

参考:Raspberry Pi 3 Model B で遊んでみる - 電力不足になったら

私もUSBポートから電源供給していたので、このマークが出ていてOSが起動しませんでした(これで1時間くらい足止め・・・)


ログイン

初期は、以下の通り。

項目

login ID
pi

Password
raspberry


SSH接続設定


raspi-configでSSHを設定

sudo raspi-config

その後以下選択

5 Interfacing Options >> P2 SSH >> Yes


ロケーション設定

SSH設定から続き、raspberry-configでロケーションを設定

4 Localisation Options >> I2 Change Timezone >> Asia >> Tokyo


録画サーバーの設定


同軸ケーブルとB-CASの認識確認


$ lsusb | grep VidzMedia

Bus 001 Device 004: ID 3275:0080 VidzMedia Pte Ltd

$ ls /dev/dvb
adapter0

$ sudo apt -y install build-essential automake pkg-config
~~(中略)~~
utomake (automake) in auto mode


何を見ているかは不明。

とりあえず出てくればOK?


PX-S1UD firmware のインストール


ドライバは kernel に組み込まれていますが、別途 firmware が必要なので配置します。

sudo apt -y install unzip

wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip
unzip PX-S1UD_driver_Ver.1.0.1.zip
sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware
sudo reboot now

再起動が終わったら、以下続き。


カードリーダーの設定


aptのupdate

sudo apt-get update


ドライバのインストール

sudo apt -y install pcscd libpcsclite-dev pcsc-tools

#少し時間かかる。


読み込み確認

pcsc_scan

以下のように表示されれば、OK

Japanese Chijou Digital B-CAS Card (pay TV)


なお、このコマンドの結果が

Card state: Card inserted, Unresponsive card,

などと表示されて止まってしまう場合は、B-CASカードの挿入の裏表が逆になっていないか確認してください。

通常白地に注意事項がたくさん書かれている側が、LEDランプ側に来るように挿します。また正常に挿されている場合は緑のLEDランプが点滅します。LEDランプが点灯(ついたまま)になっている場合は読めていません。

http://linux-memo.net/kaden/chidejiserver_ubuntu9-10_4configure.html



インストール

cd /usr/local/src

curl -sL https://github.com/stz2012/libarib25/archive/09770e3.tar.gz | sudo tar zxv
cd libarib25-09770e334837f6c67268c41c1c15784373d35e5b
sudo chown -R $(whoami) .
make
sudo make install
cd /usr/local/src
curl -sL http://www13.plala.or.jp/sat/recdvb/recdvb-1.3.1.tgz | sudo tar zxv
cd recdvb-1.3.1
sudo chown -R $(whoami) .
./autogen.sh
./configure --enable-b25
make
sudo make install


VLC等でストリーミング再生可能


ホワイトリスト登録

再生可能するには、再生する端末のIPアドレスを、ホワイトリストに入れる必要ある。

#Viで/etc/hostsを開く。

sudo vi /etc/hosts

#以下表示内容
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

127.0.1.1 raspberrypi
192.168.1.4 win7 #この行追加

viコマンド

動作
コマンド

カーソルの右側に挿入
a

カーソルの左側に挿入
i

入力モードから抜ける
[esc]

保存して閉じる
:wq

保存せずに閉じる
:q!


再生開始

$ recdvb --b25 --strip --http 8080


VLCで再生

VLC > ファイル > ネットワークストリームを開く

http://192.168.1.10:8080/25と入力し、再生を押す。

再生できれば、成功。


うまくいかない場合

当たり前ですが、USBの抜き差しとraspiの再起動。


Node.jsインストール

MirakurunはNode.jsのver8には非対応とのこと





https://github.com/Chinachu/Mirakurun

#ver6をインストール

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs


Mirakurunをインストール

公式参照 https://github.com/Chinachu/Mirakurun

sudo npm install pm2 -g

sudo npm install mirakurun -g --unsafe --production


Rivarunもインストール

sudo npm install rivarun -g

これはなんだろう?


チューナーの設定


Mirakurunがインストールされると、/usr/local/etc/mirakurunに3つの設定ファイルが生成される。

設定が必要なのは、tuners.ymlとchannels.ymlの2つ。

tuners.ymlでは、チューナーの設定を行う。


とのことですので、viで設定追記。

$Vi /usr/local/etc/mirakurun/tuners.yml

#以下追加内容
- name: PX-S1UD-1
types:
- GR
command: recdvb --b25 --strip <channel> - -

追記が終わったら、再起動

sudo mirakurun restart


チャンネル情報の取得

curl -X PUT "http://localhost:40772/api/config/channels/scan"

うまくいけば、こんな感じで表示されます。


Chinachuのインストール

まずはGitのインストール

sudo apt-get install git

公式参照 https://github.com/Chinachu/Chinachu/wiki/Gamma-Installation-V2

git clone git://github.com/kanreisa/Chinachu.git ~/chinachu

cd ~/chinachu/
./chinachu installer
# Auto を選択

このAutoのインストールが長い長い。

実際測ったことがないのですが、数十分では終わりません^^;

Autoを実行したら、放置が得策。


設定

cp config.sample.json config.json

vi config.json

とりあえず以下だけ設定すれば、動きました。


"uid" には通常 1000 または "実行ユーザー名" を指定します。


後は必要に応じて設定ください。


空ファイルの作成。

echo [] > rules.json


動作チェック

./chinachu service wui execute

# 問題なく起動できたらCtrl+\で終了

./chinachu update
# EPG取得テスト(エラーが出た場合は恐らく Mirakurun に接続できていません)


サービス開始・スタートアップ登録

sudo pm2 start processes.json

sudo pm2 save

#最後に再起動。
sudo reboot now


ブラウザでChinachu起動

http://192.168.1.10:20772/ にアクセスして表示されればOK!


実際に使ってみての感想


なぜか、ライブ視聴ができない?

私だけかもしれませんが、ライブ視聴(ストリーミング視聴も)ができませんでした。

まあ録画用のため、ライブ視聴はできなくても問題はありませんが、気持ち悪い。。。

ラズパイのスペック不足かな??


案外容量を食う

だいたい30分アニメで2.6GB、紅白だと30GBくらい食いそう。

mp4にエンコードすれば、多少小さくできるようですが、ラズパイにそれをやらせるとヒートアップしそうなのでやめた。

まあDLしてWinで XMedia Recode 使ってエンコードでもしようか と考え中。


これだけ出来れば、十分

ルール設定で、歌手やグループの名前から予約せってもできる。

あまりテレビを見ない私にとっては、これだけできれば十分。


参考

以下サイトを参考にさせていただきました。

ありがとうございます。