見出し画像

超小型SBCでMirakurunサーバー構築。(Mirakurun+SoftCas)

注意

録画データの著作権などは自己責任で。
SoftCasも闇なので自己責任ですよ。

用意したもの

1. ZeroPi
2. PX-S1UD
3. その他 (microSD 32GB、5V 2A ACアダプター、アンテナケーブル、LANケーブル、分配器とか...。)

Asia、Tokyoに時間をセット

# rootで。
$ timedatectl set-timezone Asia/Tokyo

リポジトリを追加

# Webminのリポジトリを追加
$ add-apt-repository 'deb http://download.webmin.com/download/repository sarge contrib'

# Webminのキーを追加
$ wget -qO - http://www.webmin.com/jcameron-key.asc | sudo apt-key add -
$ sudo apt update ; sudo apt -y upgrade

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

# 必要に応じて追加してください。
$ sudo apt -y install pcscd libpcsclite-dev libccid pcsc-tools python2.7 build-essential unzip pkg-config automake cmake g++ autoconf git cpufrequtils cpufreqd webmin nodejs npm hexedit

CPU倍率固定

# Performanceにセット
$ wget -O /etc/init.d/cpufrequtils https://pastebin.com/raw/fibpAcav

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

# チューナードライバのインストール
$ 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

# 再起動前にチューナーを挿しておく。
# 一本のみなので、アダプター番号の固定は行わない。

正常に動作しているかを確認

$ dmesg
$ lsusb
$ ls /dev/dvb/
$ cpufreq-info -o

# 何らかのエラーが発生してないか確認。

SoftCas、arib25、recdvbの導入

# anonfile.com/27i1Of6an6からDLしてfile.ioのリンク作ってwgetする。
$ wget file.ioのURL
$ unzip 生成されたファイル名
$ cd softcas

# Winscard.cppとMakefileを差し替え
$ wget -O winscard.cpp https://pastebin.com/raw/5144Ah9g
$ wget -O Makefile https://pastebin.com/raw/FQdSixkB

# sedコマンドで置き換える
$ sed -i "/LONG SCardGetStatusChange/s/LPSCARD_READERSTATE_A/LPSCARD_READERSTATE/g" winscard.cpp
$ sed -i "s/SCARD_IO_REQUEST g_rgSCardT1Pci;/const SCARD_IO_REQUEST g_rgSCardT1Pci = { SCARD_PROTOCOL_T1, sizeof(SCARD_IO_REQUEST) };/g" winscard.cpp

$ make

# makeが通ったらコピー。(arm環境以外だと別のディレクトリらしい。)
$ sudo cp libpcsclite.so.1.0.0 /usr/lib/arm-linux-gnueabihf/libpcsckai.so

$ cd /usr/lib/arm-linux-gnueabihf/pkgconfig
$ sudo cp libpcsclite.pc libpcsckai.pc
$ sudo nano libpcsckai.pc
 Libs: -L${libdir} -lpcscliteをLibs: -L${libdir} -lpcsckaiとする

# arib25とrecdvbの導入
$ wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.tar.bz2
$ tar -xvjf c44e16dbb0e2.tar.bz2
$ cd pt1-c44e16dbb0e2/arib25/
$ nano src/Makefile
 PCSC_CFLAGS ?= `pkg-config libpcsclite –cflags`
 PCSC_LDLIBS ?= `pkg-config libpcsclite –libs`
 の「lite」を「kai」とし、保存する
$ make
$ sudo make install

# 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

# SoftCas更新
$ sudo hexedit /usr/lib/arm-linux-gnueabihf/libpcsckai.so

# anonfile.com/4au9K99dnd (2019/06 Unlocked Key)
$ cd /usr/lib/arm-linux-gnueabihf
$ wget -O libpcsckai.so file.ioのURL

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

# チューナー、チャンネル設定
$ cd /usr/local/etc/mirakurun/
$ wget -O tuners.yml https://pastebin.com/raw/gzWuyKXn
$ wget -O channels.yml https://pastebin.com/raw/gXhXnb4W

# 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

ポイント

# SoftCas注意事項
順番に書き換えが必要。一度書き換えたら保存すること。
鍵はこ↓こ↑5chへ。もしくは解錠済みをDLして置き換え。
PWはとある人物をTDN表記にしたもの。
ディレクトリはarm環境用です。x64とかは適当に。

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

# その他
BonDriver_Mirakurunのおかげで、TVTest環境でも視聴可能。
Meruruを使えば、Mac環境でも簡単に視聴可能。
SoftCasはMirakurun多段利用時にホスト側で処理する場合は不要かも。

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

FriendlyELEC
https://www.friendlyarm.com/
Webmin
https://zeropi.lan:10000/
Armbian
https://www.armbian.com/zero-pi/
Rufus
https://github.com/pbatard/rufus/releases/
TVTest
https://github.com/tsukumijima/TS-Soft-Built
DTV板
https://mevius.5ch.net/avi/
file.io
https://www.file.io/
SoftCasの鍵
https://anonfile.com/4au9K99dnd/

まとめ

たっかいラズパイとかもう必要ないかも。

いいなと思ったら応援しよう!