まえがき
最近、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には非対応とのこと
#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 使ってエンコードでもしようか と考え中。
これだけ出来れば、十分
ルール設定で、歌手やグループの名前から予約せってもできる。
あまりテレビを見ない私にとっては、これだけできれば十分。
参考
以下サイトを参考にさせていただきました。
ありがとうございます。