RPI4 と PX-Q1UD を使った docker-mirakurun-epgstation v2 TV構築


参考: MirakurunをDockerに移行した
参考: Docker on Linux

備忘録なのでVim設定などは適宜変更してください.

用意するもの

RPI4
PX-Q1UD
BCASリーダ

初期設定

  • アップデート
  • HDDマウント関係インストール
  • vim設定
sudo raspi-config nonint do_change_timezone Asia/Tokyo && \
sudo raspi-config nonint do_change_locale ja_JP.UTF-8 && \
sudo raspi-config nonint do_wifi_country JP && \
sudo sed -i "s/deb.debian.org\/debian /ftp.jp.debian.org\/debian /g" /etc/apt/sources.list && \
sudo apt update && sudo apt upgrade -y && sudo apt autoremove -y && \
sudo apt install -y exfat-fuse exfat-utils ntfs-3g cifs-utils && \
dpkg -l | grep vim && \
sudo apt --purge remove -y vim-common vim-tiny && \
sudo apt install vim-gtk -y && sudo cp /etc/vim/vimrc /etc/vim/vimrc.bak && \
wget -O .vimrc https://gist.github.com/Yuu-stack/afc3644c76d10dc39bd4c0ad48a0bc86/raw/6ca7b465dae295db9789a4bdd6806a1629610d11/.vimrc && \
sudo cp ~/.vimrc /etc/vim/vimrc && \
sudo reboot

下準備-1(Docker関係)

Dockerで環境構築するために

  • Docker
  • Docker-compose

これらをインストールする.
初めてのセットアップからワンストップでDockerインストールまで行うとコケるので、再起動後に実行することをおすすめします。コマンド詳細は前記事を参考にどうぞ

# docker
curl -sSL https://get.docker.com | sh 
sudo usermod -a -G docker $USER 

# docker-compose
sudo apt install -y libffi-dev libssl-dev python3 python3-pip python3-dev && \
sudo pip3 install docker-compose 

# 確認
echo '+++++++++++++++' 
docker -v 
docker-compose -v 

下準備-2(ドライバ関係)

細かなインストールはDocker内で行うため最低限必要なチューナのドライバをインストール

cd ~ && echo 'PX-Q1UDドライバのインストール' && \
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/ && 
sleep 0.5 && \
sudo shutdown -h now

接続の確認

RPI4をシャットダウンさせたら

  • PX-Q1UD
  • BCAS

を接続し電源ON.接続を確認します.

ls -l /dev/dvb/ && dmesg | grep PX-S1UD && usb-devices | grep PX-S1UD 

BCASカードの接続確認は本来
pcsc_scan | grep B-CAS
このようにpcscコマンドを用いて行いますが、
Dockerを用いたMirakurunを構築する場合これをアンインストールする必要があるので今回はインストールしません.確認でインストールした人はアンインストールをしてからDocker Mirakurunの構築に移ってください.

確認のためinstallする場合
sudo apt install -y pcscd libpcsclite-dev libccid pcsc-tools && \
pcsc_scan | grep B-CAS
uninstall
sudo apt remove --purge -y pcscd libpcsclite-dev libccid pcsc-tools && \
sudo reboot

l3tnun/docker-mirakurun-epgstation

docker-mirakurun-epgstation

# gitを使用するのでインストール
sudo apt install -y git && \
curl -sf https://raw.githubusercontent.com/l3tnun/docker-mirakurun-epgstation/v2/setup.sh | sh -s && \
cd docker-mirakurun-epgstation

ビルドに時間(10-15min)がかかるので気長に待ちましょう

docker-mirakurun-epgstationディレクトリ内で実行
# 起動
sudo docker-compose up -d
#停止したい場合
sudo docker-compose down

起動確認

起動の確認までできれば、再起動させてもEPGStationとMirakurunは自動で起動するみたいです。
本当に便利すぎる

EPGStationの確認
http://DockerHostIP:8888
Mirakurunの確認
http://DockerHostIP:40772

チャンネルスキャンしたい場合
curl -X PUT "http://localhost:40772/api/config/channels/scan"

もし Docekr Mirakurun だけインストールしたい場合

Official-Doc「Install / Uninstall / Update」

# Install 
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

どうやら勝手にチューナ設定を行ってくれるようです.すごい、、、

Official-Doc「config」
チューナ設定などはここから見れるようです

vim /usr/local/mirakurun/config/server.yml
vim /usr/local/mirakurun/config/tuners.yml
vim /usr/local/mirakurun/config/channels.yml

チャンネルスキャンの実施

コピペでここまで構築してくれるとは、恐るべしDocker Mirakurun
チューナ設定とかも不要なんですね..すごい

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

Dockerコマンド-メモ

参考: Dockerイメージとコンテナの削除方法

Dockerイメージ確認の詳細
# 全てのイメージ情報を表示
docker images -a
# 全てのイメージIDのみ抽出
docker images -a -q
Dockerイメージ削除の詳細
# イメージIDで削除
docker rmi [イメージID]
# 全てのイメージIDのみを抽出し、全てのイメージを削除
docker rmi `docker images -a -q`
# 強制削除する際は`-f`オプションを使用する
docker rmi -f [コンテナID]
Dockerコンテナ確認の詳細
# 全てのコンテナ情報を表示
docker ps -a
# 全てのコンテナIDのみを抽出
docker ps -a -q
Dockerコンテナ削除の詳細
# コンテナIDで削除
docker rm [コンテナID]
# 全てのコンテナIDのみを抽出し、全てのコンテナを削除
docker rm `docker ps -a -q`
# 強制削除する際は`-f`オプションを使用する
docker rm -f [コンテナID]

終わりに

Dockerを使うことでこんなにも簡単に環境構築出来るとは知りませんでした。
つぎはnasへの録画保存設定や好きなデコーダ?の設定、詳細設定のカスタム,別のチューナを使用した場合など掘り下げていければと思います。