見出し画像

チャンネルスキャンの実行方法。(MirakurunxEPGStation)

面倒なチャンネル設定を簡略化したいというニーズに応えて掲載。
BS/CS再編の際に、スムーズに変更できるという点でも利点があるかも。

注意

recdvbでは上手く動作せず。
recpt1、dvb5-zapならいけると思う。
もっと柔軟な環境で動作するのをゆる~く期待。

用意するもの

1. ラズパイ本体 or 適当なPC
2. 適当なチューナー
3. 適当なカード(赤、青、白、miniとか...。)
4. 適当なカードリーダー(SCR3310 v2.0がおすすめ)

方法

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

# xmllintをインストール
$ sudo apt -y install libxml2-utils

# epgdumpをインストール
$ git clone https://github.com/stz2012/epgdump
$ cd epgdump
$ make
$ sudo make install

チューナーのセットアップ

# 過去記事参照
1. ラズパイとPX-S1UD
2. ラズパイとPX-W3U4
3. UbuntuとPT2
4. UbuntuとPT3
5. UbuntuとMax M4
6. UbuntuとPX-Q3PE4
7. ZeroPiとPX-S1UD

arib25と録画ツールの導入

# arib25

$ wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.tar.bz2
$ tar -xvjf c44e16dbb0e2.tar.bz2
$ cd pt1-c44e16dbb0e2/arib25/
$ make
$ sudo make install

# recpt1

$ hg clone http://hg.honeyplanet.jp/pt1
$ cd pt1/recpt1/

# sedコマンドで置き換える(PT3)
$ sed -i 's/pt1video/pt3video/g' pt1_dev.h

# sedコマンドで置き換える(PX4)
$ sed -i 's/pt1video/px4video/g' pt1_dev.h

$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install

# recdvb

# dogeel版じゃないと動かないです…。
$ git clone https://github.com/dogeel/recdvb.git
$ cd recdvb

# pt1_dev.hを差し替え
$ wget -O pt1_dev.h https://pastebin.com/raw/rJATXC7r

# インストール
$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install

Node.js、PM2、Mirakurunの導入

# Node.jsのバージョンを指定(2019/09 現在)
$ sudo npm install -g n
$ n 10.16.1

# PM2の導入
$ sudo npm install pm2 -g

# Mirakurunの導入
$ sudo npm install mirakurun -g --unsafe --production
$ sudo npm install rivarun -g

Mirakurunの設定

# チューナー設定
$ cd /usr/local/etc/mirakurun/
$ wget -O tuners.yml https://pastebin.com/raw/R9D3i0xz

# チューナー設定変更 (↑はMax M4での例です。適宜書き換えてください。)
$ sudo nano tuners.yml

# Mirakurunの再起動
$ sudo mirakurun restart

チャンネルスキャン

# Mirakurunの停止
$ sudo mirakurun stop

# 有志製作のスクリプトをクローンする
$ git clone https://gist.github.com/479b7da80063e39d1ca2cf467e40e290.git
$ cd 479b7da80063e39d1ca2cf467e40e290

# スクリプトの編集
$ sudo nano scan_ch_mirak.sh
 readonly RECORD_COMMAND_GR
 readonly RECORD_COMMAND_BSCS
 の「#」を環境に応じて変更し、保存する(アダプター、--lnb 15なども適宜変更)

# チャンネルスキャンの実行
$ sudo bash scan_ch_mirak.sh

# 出力されたチャンネル設定をコピー
$ sudo cp channels.yml /usr/local/etc/mirakurun/channels.yml

# channels.ymlを編集
$ cd /usr/local/etc/mirakurun/
$ sudo nano channels.yml

# Mirakurunの再起動
$ sudo mirakurun restart

ログ設定

# pm2-logrotateをインストール
$ sudo pm2 install pm2-logrotate

# 毎日ログを圧縮して一週間分保存
$ cat << 'EOT' | sudo tee /etc/logrotate.d/mirakurun
/usr/local/var/log/mirakurun.stdout.log
/usr/local/var/log/mirakurun.stderr.log
/{
daily
compress
rotate 7
missingok
notifempty
}
EOT

# Mirakurunの再起動
$ sudo mirakurun restart

EPGStationの導入

# EPGStationの導入
$ git clone https://github.com/l3tnun/EPGStation.git
$ cd EPGStation

# インストール(時間かかるよ)
$ sudo npm install --unsafe-perm=true --allow-root

# ビルド(時間かかるよ)
$ sudo npm run build

# SQLite3使用時の正規表現での検索の有効化
$ wget https://www.sqlite.org/2019/sqlite-amalgamation-3290000.zip
$ wget https://www.sqlite.org/2019/sqlite-src-3290000.zip
$ unzip sqlite-amalgamation-3290000.zip
$ unzip sqlite-src-3290000.zip

# regexp.cのコピー
$ cp sqlite-src-3290000/ext/misc/regexp.c sqlite-amalgamation-3290000

# ビルドしてファイルのコピー
$ cd sqlite-amalgamation-3290000
$ gcc -g -fPIC -shared regexp.c -o regexp.so
$ sudo cp regexp.so /home/ubuntu/EPGStation/data/

# 設定ファイルのコピー
$ cd /home/ubuntu/EPGStation/
$ sudo cp config/config.sample.json config/config.json
$ sudo cp config/operatorLogConfig.sample.json config/operatorLogConfig.json
$ sudo cp config/serviceLogConfig.sample.json config/serviceLogConfig.json

# config.jsonの編集
$ sudo nano config/config.json
// config.json (最低限。その他は公式参照。)

# ffmpeg/ffprobeの場所書き換え 
"ffmpeg": "/usr/bin/ffmpeg",
"ffprobe": "/usr/bin/ffprobe",

# 正規表現での検索の有効化
"sqlite3": {
 "extensions": [
    "/home/ubuntu/EPGStation/data/regexp.so"
],
"regexp": true
},

# 動作確認済み config.json
$ wget -O config/config.json https://pastebin.com/raw/d6Evd88E

# 謎カード
過去記事の謎カードを使うと全部見れるかも。
ツールをDLしてない場合はここからDL。使い方は過去の記事参照。

ポイント

# 謎カード注意事項
Visual C++のランタイムが無いと動かないです。
入ってない場合はこれこれを入れて下さい。
リモートデスクトップ環境ではカードが認識しません。
TeamViewerを使えば認識します。
カードの向きに注意。ICチップを上向きにして挿入して下さい。
M003/T003 Type Cの一部カードではテロップが消せない状況です。
恐らく5chの詳しい人達が解析の真っ最中なので続報を待ちましょう。

# Mirakurun注意事項
Mirakurunの設定をしっかりと確認する。
地デジはマスプロのpdfを確認。
Node.jsのバージョン指定終了後に、再起動したほうが良いかも。
Mirakurunを多段利用するのであれば、この様に記述する。
再起動後はerror吐きやすいので注意。挿し直して再起動。
mirakurun logで動作確認。
15-30分程度放置してからEPGStationをインストールする。

# EPGStation注意事項
すぐにスタートアップに登録するのではなく、npm startで動作確認する。
error吐いたら恐らくconfig.jsonの記述ミス。大体カンマ忘れ。
正常動作を確認後スタートアップに登録する。
config.jsonいじったらpm2 restart epgstationで再起動。
ディレクトリはUbuntu環境用です。arm環境とかは適当に。

# その他
Sambaと録画先の設定などは適当に。
Webminで幅広く設定できる。
自動更新設定やリポジトリの登録なども出来て万能君。
ターミナルまであるから作業が捗る。便利。
EPGStationも徐々に完成形になりつつある。近々に更新予定らしい。
Amatsukazeと連携して自動エンコードが出来る。
保存先をNASにしてPlexとかで見れるようにすると便利。
Kodi用のプラグインもある。シームレスに視聴が出来て快適。
BonDriver_Mirakurunのおかげで、TVTest環境でも視聴可能。
Meruruを使えば、Mac環境でも簡単に視聴可能。
EPGStation-Notifierを使えば、予約番組の通知も可能。
EPGS-to-Discordを使えば、Discordへ通知が可能。

各種リンク及びショートカット

粕カード
https://amzn.to/33Ok5hJ
mini用変換アダプター
https://amzn.to/2DLTqHG
SCR3310 v2.0
https://amzn.to/2Yi09m0
ツール
https://anonfile.com/b132UcCdnc/
TVTest
https://github.com/tsukumijima/TS-Soft-Built
DTV板
https://mevius.5ch.net/avi/
file.io
https://www.file.io/

まとめ

次記事はAmatsukazeの自動エンコにするかも。

この記事が気に入ったらサポートをしてみませんか?