【備忘録】ラズパイを使った録画サーバの構築 3回(ソフトウェア周り構築編)
ラズパイを使った録画サーバの構築(ソフトウェア周り構築編)
前回の続き.前回↓ miyakonorth.hatenablog.jp
本ブログ記事も前回に引き続ききじのしっぽ様による以下の解説書を参考とさせて頂いております. k-s.booth.pm
本ブログ記事での環境
環境 | バージョン |
---|---|
Raspberry Pi | 3 Model B+ |
OS | Raspbian GNU/Linux 10 (buster) |
kernel | 4.19.97-v7+ |
librarib25のインストール
デジタル放送におけるアクセス制御方式の規格ARIB STD-B25*1をLinuxで使用するためのライブラリです.
$ git clone https://github.com/stz2012/libarib25.git $ cd libarib25 $ mkdir build $ cd build $ cmake .. $ make -j4 $ sudo make install -j4
recdvbのインストール
$ git clone https://github.com/dogeel/recdvb.git $ cd recdvb $ ./autogen.sh $ ./configure --enable-b25 $ make -j4 $ sudo make install -j4
テストで録画してみる
正しくインストールできたか,実際に番組を録画してみて確認します.
某アンテナメーカーが公表している各地の番組表を基に,録画したい番組のチャンネルを選びます.
https://www.maspro.co.jp/contact/channel.pdf
本ブログ記事の例では,群馬県は前橋の送信塔から群馬テレビを受信すると想定し,チャンネルを19とします.
以下のコマンドでは,群馬テレビを10秒録画します.
$ recdvb -b -s 16 10 test_video.m2ts
Node.jsのインストール
Node.jsの最新バージョンは14台までありますが,後にインストールするChinachuにて推奨されているバージョンが12台まででした.(2020年04月現在).
よって,Version 12.16.2をインストールします.
$ sudo curl -sL https://deb.nodesource.com/setup_12.x | bash - $ sudo apt-get install -y nodejs
インストールされたか確認.
$ nodejs -v v12.16.2 $ npm -v 6.14.4
PM2のインストール
アプリのデーモン化を行うサービスです.
$ sudo npm install pm2 -g $ sudo pm2 startup
Mirakurunのインストール
Githubの公式リポジトリにあるドキュメントを参考に.
Mirakurun/Platforms.md at master · Chinachu/Mirakurun · GitHub
$ sudo npm install mirakurun -g --unsafe-perm --production
MIrakurunにチューナの設定をする
本ブログ記事ではチューナにPX-S1UDを使用しています.使用機材について↓ miyakonorth.hatenablog.jp
よって,MIrakurunにPX-S1UDを使用するための設定をします.
以下のコマンドでチューナの設定ファイルがvimで開かれます.
$ sudo mirakurun config tuners $ sudo mirakurun restart
設定ファイルの内容を以下のように書き換えます.
- name: PX-S1UD-1 types: - GR command: recdvb -b -s <channel> -- isDisabled: false
チャンネルスキャンを行う
以下のコマンドで自動的にチャンネルを探し出し,設定をしてくれます.
$ curl -X PUT "http://localhost:40772/api/config/channels/scan" $ sudo mirakurun restart
Chinachuのインストール
Githubの公式リポジトリにあるドキュメントを参考に.
Gamma Installation V2 · Chinachu/Chinachu Wiki · GitHub
$ git clone git://github.com/kanreisa/Chinachu.git ~/chinachu $ cd ~/chinachu/ $ ./chinachu installer # Auto を選択
Chinachuを設定
config.json
を設定します.
$ cp config.sample.json config.json $ vi config.json
各環境に合わせて以下を参考に設定.
Gamma Installation V2 · Chinachu/Chinachu Wiki · GitHub
空のルール設定ファイルを作成
ここで作成するrules.json
は,毎週録画など録画のルールを保存するファイルとなります.
$ echo [] > rules.json
動作チェック
以下を参考に.
Gamma Installation V2 · Chinachu/Chinachu Wiki · GitHub
pm2に登録
$ sudo pm2 start processes.json $ sudo pm2 save
PM2を確認すると,上記までに登録したMirakurunとChinachuが登録されていることが確認できると思います.
$ sudo pm2 list
以下のような出力が得られるかと思います.
構築に失敗してうまく動いていないとStatusの項目がError
などと表示されているかと思います.
以上で録画環境の構築は完了です.
環境による個人的な都合
Chinachuではテレビ番組をリアルタイム視聴することもできるのですが,私の環境では一瞬で処理落ちして視聴できませんでした.
Raspberry Pi Model 3B+ではこれが限界ということでしょうか.
まあ本ブログ記事での工作は録画さえできればヨシ!
次回
エンコード周りを構築していきたいと思います.次回↓ miyakonorth.hatenablog.jp