Ubuntu20.04とPLEX社製チューナー(PX-S1UD/PX-Q1UD)で構築するMirakurun最新版+epgstation環境


PT3の入手性が極端に悪くなったため、PLEX社製TVチューナーでLinux録画環境を構築する方法です。PX-Q1UDPX-S1UD共に同じ方法で構築出来ると思います。BS/CSが不要であればPX-Q1UDが手ごろな価格で4CH対応なので良いかと思います。

【事前準備】環境の組み合わせについて

①サーバ、②チューナー、③カードリーダが必要です。

①サーバ

サーバ費用コメント
Raspberry Pi47,000~10,000円ハードウェアエンコード可能なため、コスパ最強です。裸のまま構築すると、静電気やショート等で壊れる可能性が高まるので、ケースも併せて購入する事を強くお勧めします。
自作サーバ3万円前後Intel系の4コアCPUがお勧めです。TDP65Wでも、実測値はRyzenよりもIntel系の方が低い点と、Intel製チップセットを利用するM/Bは安定性で期待できるためです。
ノートPC4万円前後余っているノートPCを再利用してもいいと思います。バッテリーが生きていればUPS付きのサーバですね。

②チューナー

利用可能なチューナーは以下の通りで、分類が1種類に分かれます。mirakurunはdocker上に構築する前提で特徴を記します。

分類特徴
mirakurunのセットアップ中で面倒を見てもらえる為、セットアップが楽。
ドライバを導入し、recpt1等をコンパイルし、Dockerから参照可能な場所に配備。
あわせて、Dockerから該当デバイスを見れるようにする必要あり。
mirakurunで利用可能なチューナーの分類

mirakurunで利用可能なチューナーは下表のとおり。PT3を元々持っている方はPT3を使うのが楽です。BS/CSが必要なければ分類①に該当するPX-Q1UDPX-S1UDが最有力候補。

Raspberry pi等の小型PCで利用する場合には、外付けタイプ(内外で内と記載)を選択。既存のサーバ機やデスクトップPCを利用する場合には内蔵タイプ(内外で外と記載)を選択すればいいと思います。

メーカー製品分類内外地デジBS/CS金額評価コメント
アースソフトPT32ch2ch3万前後一押しだが、既に入手困難
PLEXPX-Q1UD4ch1万2千円セットアップが楽
PLEXPX-S1UD1ch5,000セットアップが楽
PLEXPX-W3U42ch2ch在庫少ない?良い意味で枯れてます。recpt1経由で利用
PLEXPX-Q3U44ch4ch22,000同上
PLEXPX-W3PE42ch2ch13,800同上
PLEXPX-Q3PE44ch4ch21,000同上
PLEXPX-W3PE52ch2ch16,000同上
PLEXPX-MLT5PE5ch地デジ兼用16,000地デジ、BS/CS合計5ch。recpt1経由で利用
PLEXPX-MLT8PE8ch地デジ兼用27,000地デジ、BS/CS合計8ch。recpt1経由で利用
mirakurunから利用可能なチューナー

③カードリーダー

安定して利用製で既製品であればOKです。「SCR3310」が実績があり苦労しないと思います。

mirakurunのインストール

mirakurunはDockerを利用する方法と、Dockerを利用しない方法(node.jsでPC上で動かす)があります。開発環境もDocker上に移行しているとのことですので、dockerを利用する方法でセットアップします。

※Dockerを利用した方が簡単です。

Dockerのインストール

sudo curl -sSL https://get.docker.com/ | CHANNEL=stable sh
sudo curl -L "https://github.com/docker/compose/releases/download/1.28.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
sudo usermod -aG docker ${USER}

sudo systemctl enable --now docker

mirakurunのインストール

mkdir ~/mirakurun/
cd ~/mirakurun/
wget https://raw.githubusercontent.com/Chinachu/Mirakurun/master/docker/docker-compose.yml

docker-compose pull
docker-compose run --rm -e SETUP=true mirakurun
docker-compose up -d

チャンネルスキャンを行う

以下コマンド実行後、10分~20分程度かかると思います。

curl -X PUT "http://localhost:40772/api/config/channels/scan"

ここまででmirakurun側のセットアップ完了です。mirakurunの管理画面は以下です。チャンネルスキャンまで実行すれば、特段やることはありませんが、管理画面に入って、チューナーの登録状況や、ログを確認しておくと良いかもしれません。

https://<インストール対象サーバIP>:40772/

epgstationのインストール

mirakurunはチューナーデバイスの管理ソフトウェアなので、予約録画をするためには、GUI画面が必要ですので、epgstationをインストールします。

sudo apt install nodejs ffmpeg python gcc npm

# バージョンチェック
node --version
curl -o - http://localhost:40772/api/version
ffmpeg -version
python --version
gcc --version

cd ~/
git clone https://github.com/l3tnun/EPGStation.git
cd EPGStation
npm run all-install
npm run build

cp config/config.sample.yml config/config.yml
cp config/operatorLogConfig.sample.yml config/operatorLogConfig.yml
cp config/epgUpdaterLogConfig.sample.yml config/epgUpdaterLogConfig.yml
cp config/serviceLogConfig.sample.yml config/serviceLogConfig.yml

cd ~/EPGStation
sudo npm install pm2 -g
sudo pm2 startup ubuntu -u ${USER}
pm2 start dist/index.js --name "epgstation"
pm2 save

# pm2をスタートする際の.pm2ディレクトリをユーザーのディレクトリにする
sudo sed -i "s/^Environment=PM2_HOME=.*/Environment=PM2_HOME=\/home\/${USER}\/.pm2/g" /etc/systemd/system/pm2-${USER}.service
sudo sed -i "s/^PIDFile=.*/PIDFile=\/home\/${USER}\/.pm2\/pm2.pid/g" /etc/systemd/system/pm2-${USER}.service

epgstationの管理画面は以下です。

http://<インストール対象サーバIP>:8888/

セットアップ後の動作確認

サーバの場合、再起動した後に必要な全てのプロセスが立ち上がる必要があります。よって、再起動後に必要なプロセスが起動していることを確認します。

sudo reboot

mirakurunの動作確認

docker ps -a

# 以下のように、mirakurunが表示され、STATUSがUpとなっていること
CONTAINER ID   IMAGE                       COMMAND                  CREATED      STATUS       PORTS                                              NAMES
f0ce038fd119   chinachu/mirakurun:latest   "docker-entrypoint.s…"   4 days ago   Up 8 hours   0.0.0.0:9229->9229/tcp, 0.0.0.0:40772->40772/tcp   mirakurun_mirakurun

epgstationの動作確認

以下のようにpm2 listコマンドを実行し、epgstationのstatusがonlineになっていることを確認する。

pm2 list

管理画面へのアクセスしての動作確認

製品名アクセス先確認ポイント
mirakurunhttps://<インストール対象サーバIP>:40772/・ログ
・チューナー登録状況
epgstationhttp://<インストール対象サーバIP>:8888/・番組表が見えているか
・予約録画出来るか
・チューナー数分録画出来るか
・キーワード予約録画出来るか

以上で、mirakurunとepgstationによる環境構築完了です。今回、mirakurunはDocker上に構築しているため、‘Dockerの操作方法も記載しておきます。

【おまけ】Docker操作方法

mirakurunのセットアップ中に、Docker周りのトラブルシューティングや操作をする必要があるかもしれません。その際に利用するであろうコマンドを以下に記載します。

目的コマンド備考
Dockerプロセス一覧表示docker ps -aコンテナ名はこのコマンドで取得
Dockerイメージ一覧表示docker images
Dockerプロセス上にログインdocker exec -it <コンテナ名> bash仮想マシンの場合、仮想マシンにSSHログインするイメージです。
ファイルコピー(ホスト⇒コンテナ)docker cp <コピー元> <コンテナ名>:<コピー先>
ファイルコピー(コンテナ⇒ホスト)docker cp <コンテナ名>:<コピー元> <コピー先>
起動docker start <コンテナ名>
停止docker stop <コンテナ名>
mirakurunのトラブルシューティングで使いそうなDockerコマンド

【おまけ】電波調整方法

良く勘違いされているので書いておきます。TV信号は適正値があり、チューナーに入力する信号が高すぎる場合にはアッテネータを利用して減衰させます。-6dbや、-10db等ありますが、TV前で10db以上も減衰させるようなケースはあまりないはずで、せいぜい2~6dbのアッテネータかと思います。また、分配する事でも減衰する為、分配器をつけても減衰させることが出来ます。反対にチューナーに入力する信号が低い場合にはブースターで増幅します。ブースターの設置場所はPCの直前だとレベルが上がりすぎる為、一般的にはアンテナ直下(屋根裏やアンテナ近くにBOX設置、風呂場の天井裏等)に設置します。ブースターの場合、電源分離型を購入すると便利です。

参考ページ

以下サイトを参考にさせていただきました。ありがとうございました。また、作者の方々には便利なソフトウェアを作成して頂いたことに深くお礼申し上げます。

タグ , , , , . ブックマークする パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください