UbuntuとPT3で録画リグ構築。(MirakurunxEPGStation+SoftCas)
注意
録画データの著作権などは自己責任で。
SoftCasも闇なので自己責任ですよ。
*リクエストに応えて掲載。未検証です。
用意するもの
1. 適当なPC
2. EarthSoft PT3
3. その他 (Wi-Fiドングル、USBメモリ、アンテナケーブル、分配器、電源供給器、BS/CS アンテナとか...。)
Asia、Tokyoに時間をセット
# rootで。
$ timedatectl set-timezone Asia/Tokyo
リポジトリを追加
# 初期状態を確認
$ cat /etc/apt/sources.list | sed -e "/^#/d" -e "/^$/d"
# ミラーを追加
$ sudo sed -i.bak -e 's%http://[^ ]\+%mirror://mirrors.ubuntu.com/mirrors.txt%g' /etc/apt/sources.list
# Webminのリポジトリを追加
$ add-apt-repository 'deb http://download.webmin.com/download/repository sarge contrib'
# 実行結果を確認
$ cat /etc/apt/sources.list | sed -e "/^#/d" -e "/^$/d"
# 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 mercurial sqlite3 ffmpeg build-essential unzip pkg-config automake cmake g++ autoconf git dkms cpufrequtils cpufreqd webmin nodejs npm hexedit
CPU倍率固定
# Performanceにセット
$ wget -O /etc/init.d/cpufrequtils https://pastebin.com/raw/fibpAcav
チューナーのセットアップ
# チューナードライバのインストール
$ mkdir -p ~/src/
$ cd ~/src/
$ git clone https://github.com/m-tsudo/pt3.git
$ cd pt3
$ make
$ sudo make install
$ sudo bash ./dkms.install
# 標準ドライバをブラックリストに登録する
$ echo "blacklist earth_pt3" >> /etc/modprobe.d/blacklist.conf
# 再起動
$ sudo reboot now
# 再起動前にusbメモリとかチューナーを挿しておく。
正常に動作しているかを確認
$ dmesg
$ lspci
$ lsmod | grep pt3
$ ls -l /dev/pt3video*
$ cpufreq-info -o
# 何らかのエラーが発生してないか確認。
SoftCas、arib25、recpt1の導入
# 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が通ったらコピー。(Ubuntu環境以外だと別のディレクトリらしい。)
$ sudo cp libpcsclite.so.1.0.0 /usr/lib/x86_64-linux-gnu/libpcsckai.so
$ cd /usr/lib/x86_64-linux-gnu/pkgconfig
$ sudo cp libpcsclite.pc libpcsckai.pc
$ sudo nano libpcsckai.pc
Libs: -L${libdir} -lpcscliteをLibs: -L${libdir} -lpcsckaiとする
# arib25とrecpt1の導入
$ 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
# honeyplanet版です。
$ cd ~/src/
$ hg clone http://hg.honeyplanet.jp/pt1
$ cd pt1/recpt1/
# sedコマンドで置き換える
$ sed -i 's/pt1video/pt3video/g' pt1_dev.h
$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install
# SoftCas更新
$ sudo hexedit /usr/lib/x86_64-linux-gnu/libpcsckai.so
# anonfile.com/4au9K99dnd (2019/06 Unlocked Key)
$ cd /usr/lib/x86_64-linux-gnu
$ 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
Mirakurunの設定
# チューナー、チャンネル設定
$ cd /usr/local/etc/mirakurun/
$ wget -O tuners.yml https://pastebin.com/raw/wrv4Dq8u
$ wget -O channels.yml https://pastebin.com/raw/aG7nA87e
# 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
PM2を使ってスタートアップへの登録
# スタートアップへ登録
$ sudo pm2 startup
# EPGStationの起動
$ sudo pm2 start dist/server/index.js --name "epgstation"
# 状態保存
$ sudo pm2 save
ポイント
# SoftCas注意事項
順番に書き換えが必要。一度書き換えたら保存すること。
鍵はこ↓こ↑か5chへ。もしくは解錠済みをDLして置き換え。
PWはとある人物をTDN表記にしたもの。
ディレクトリはUbuntu環境用です。RedHat系は適当に。
# Mirakurun注意事項
Mirakurunの設定をしっかりと確認する。
地デジはマスプロのpdfを確認。
Node.jsのバージョン指定終了後に、再起動したほうが良いかも。
Mirakurunを多段利用するのであれば、この様に記述する。
再起動後はerror吐きやすいので注意。挿し直して再起動。
mirakurun logで動作確認。
15-30分程度放置してからEPGStationをインストールする。
# EPGStation注意事項
すぐにスタートアップに登録するのではなく、npm startで動作確認する。
error吐いたら恐らくconfig.jsonの記述ミス。大体カンマ忘れ。
正常動作を確認後スタートアップに登録する。
config.jsonいじったらpm2 restart epgstationで再起動。
# その他
Sambaと録画先の設定などは適当に。
Webminで幅広く設定できる。
自動更新設定やリポジトリの登録なども出来て万能君。
ターミナルまであるから作業が捗る。便利。
EPGStationも徐々に完成形になりつつある。近々に更新予定らしい。
Amatsukazeと連携して自動エンコードが出来る。
保存先をNASにしてPlexとかで見れるようにすると便利。
Kodi用のプラグインもある。シームレスに視聴が出来て快適。
BonDriver_Mirakurunのおかげで、TVTest環境でも視聴可能。
Meruruを使えば、Mac環境でも簡単に視聴可能。
EPGStation-Notifierを使えば、予約番組の通知も可能。
EPGS-to-Discordを使えば、Discordへ通知が可能。
各種リンク及びショートカット
EarthSoft
https://earthsoft.jp/
EPGStation
http://localhost:8888/
Webmin
https://localhost:10000/
Ubuntu
https://www.ubuntulinux.jp/download/
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/
まとめ
B-CASが邪魔?挿さなくてヨシ!!
この記事が気に入ったらサポートをしてみませんか?