雑多物ストア

内容に一貫性は無く雑多です.暇潰しで弄った工作物のメモ書きや旅行した際の写真を置くことがメインになると思います.

雑多物ストア

環境構築のメモとかをして容量2bitの頭を補完する場所.
後は旅行の際の写真を上げたり.
内容に一貫性は無く雑多になってます.

【備忘録】ラズパイを使った録画サーバの構築 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のインストール

github.com

デジタル放送におけるアクセス制御方式の規格ARIB STD-B25*1Linuxで使用するためのライブラリです.

$ git clone https://github.com/stz2012/libarib25.git
$ cd libarib25
$ mkdir build
$ cd build
$ cmake ..
$ make -j4
$ sudo make install -j4

recdvbのインストール

github.com

$ 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のインストール

nodejs.org

nodejs.org

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.com

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.com

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などと表示されているかと思います.

result
出力結果

以上で録画環境の構築は完了です.

環境による個人的な都合

Chinachuではテレビ番組をリアルタイム視聴することもできるのですが,私の環境では一瞬で処理落ちして視聴できませんでした.
Raspberry Pi Model 3B+ではこれが限界ということでしょうか.
まあ本ブログ記事での工作は録画さえできればヨシ!

次回

エンコード周りを構築していきたいと思います.次回↓ miyakonorth.hatenablog.jp