この手の話題に関してはもう書かないでおこうかなと思っていましたが,ざっと検索してもメモ的なものが見つからなかったので自分の備忘録的に書いておきたいと思います.
PLEX の内蔵型マルチTVチューナー PX-MLT5PE を入手して,新規に linux (debian 12) をインストールしてセットアップしたのでその時の手順をメモ.
PX-MLT5PE は 地デジ/BS/CS チューナーを 5ch 搭載した PC ようの PCI-Express カードです.
夏のセール(?)で安売りしていたので思わず購入.sony チューナーを使っているようで PLEX の PX-W5PE5/EX-Q3PE5 などよりはこちらの方が評判は良いみたいですね.
debian 12 は tasksel の選択画面で desktop 環境はインストールを行わず,ssh サーバだけをいれた状態でインストールしました.また,mirakurun, epgstation は docker を使っています.
手順は下記のような感じ.面倒なのですべて root 権限で作業しています.
セットアップに必要なツール類をインストール.
apt install git unzip dkms curl
apt install build-essential
カードドライバ類をインストール.
git clone https://github.com/nns779/px4_drv
ファームウエアをインストール.
cd px4_drv
cd fwtool
make
wget http://plex-net.co.jp/plex/pxw3u4/pxw3u4_BDA_ver1x64.zip -O pxw3u4_BDA_ver1x64.zip
unzip -oj pxw3u4_BDA_ver1x64.zip pxw3u4_BDA_ver1x64/PXW3U4.sys
./fwtool PXW3U4.sys it930x-firmware.bin
mkdir -p /lib/firmware
cp it930x-firmware.bin /lib/firmware/
cd ../
ドライバ本体のインストール.dkms を使用.
cp -a ./ /usr/src/px4_drv-0.2.1
dkms add px4_drv/0.2.1
dkms install px4_drv/0.2.1
念の為に確認.
modprobe px4_drv
ls -al /dev/pxmlt5video*
crw-rw-r-- 1 root video 237, 0 Aug 20 21:29 /dev/pxmlt5video0
crw-rw-r-- 1 root video 237, 1 Aug 20 21:29 /dev/pxmlt5video1
crw-rw-r-- 1 root video 237, 2 Aug 20 21:29 /dev/pxmlt5video2
crw-rw-r-- 1 root video 237, 3 Aug 20 21:29 /dev/pxmlt5video3
crw-rw-r-- 1 root video 237, 4 Aug 20 21:29 /dev/pxmlt5video4
docker をインストール.docker オフィシャルバイナリを使用.
install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
chmod a+r /etc/apt/keyrings/docker.asc
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/debian \
$(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
tee /etc/apt/sources.list.d/docker.list > /dev/null
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
mirakurun, epgstation の docker イメージをインストール.カードドライバーに px4_drv を使っている関係上,ドキュメント通りインストール作業するとエラーになるので手作業.
git clone https://github.com/l3tnun/docker-mirakurun-epgstation.git
cd docker-mirakurun-epgstation
cp docker-compose-sample.yml docker-compose.yml
cp epgstation/config/enc.js.template epgstation/config/enc.js
cp epgstation/config/config.yml.template epgstation/config/config.yml
cp epgstation/config/operatorLogConfig.sample.yml epgstation/config/operatorLogConfig.yml
cp epgstation/config/epgUpdaterLogConfig.sample.yml epgstation/config/epgUpdaterLogConfig.yml
cp epgstation/config/serviceLogConfig.sample.yml epgstation/config/serviceLogConfig.yml
録画コマンド差し替えのためにファイル作成.
mkdir -p mirakurun/opt/bin
vi mirakurun/opt/bin/startup
#!/bin/bash
if !(type "recpt1" > /dev/null 2>&1); then
apt-get update
apt-get install -y --no-install-recommends git autoconf automake
cd /tmp
git clone https://github.com/stz2012/recpt1.git
cd recpt1/recpt1
./autogen.sh
./configure --prefix /opt
make
make install
fi
recpt1 -v
chmod +x mirakurun/opt/bin/startup
色々と都合が悪いので設定ファイル修正.
vi docker-compose.yml
--- docker-compose.yml 2024-08-20 21:45:37.848904813 +0900
+++ docker-compose.yml 2024-08-21 01:44:34.065651319 +0900
@@ -9,13 +9,18 @@
- "40772:40772"
- "9229:9229"
volumes:
+ - ./mirakurun/opt:/opt
- ./mirakurun/conf:/app-config
- ./mirakurun/data:/app-data
environment:
TZ: "Asia/Tokyo"
devices:
- /dev/bus:/dev/bus
- - /dev/dvb:/dev/dvb
+ - /dev/pxmlt5video0:/dev/pxmlt5video0
+ - /dev/pxmlt5video1:/dev/pxmlt5video1
+ - /dev/pxmlt5video2:/dev/pxmlt5video2
+ - /dev/pxmlt5video3:/dev/pxmlt5video3
+ - /dev/pxmlt5video4:/dev/pxmlt5video4
restart: always
logging:
driver: json-file
mirakurun 初期設定を実行.
docker compose run --rm -e SETUP=true mirakurun
自動作成されたチューナー設定を変更.
vi mirakurun/config/tuners.yml
- name: PX_MLT1
types:
- GR
- BS
- CS
command: recpt1 --device /dev/pxmlt5video0 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
- name: PX_MLT2
types:
- GR
- BS
- CS
command: recpt1 --device /dev/pxmlt5video1 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
- name: PX_MLT3
types:
- GR
- BS
- CS
command: recpt1 --device /dev/pxmlt5video2 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
- name: PX_MLT4
types:
- GR
- BS
- CS
command: recpt1 --device /dev/pxmlt5video3 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
- name: PX_MLT5
types:
- GR
- BS
- CS
command: recpt1 --device /dev/pxmlt5video4 <channel> - -
decoder: arib-b25-stream-test
isDisabled: false
動作確認.
docker compose up -d
下記 url にアクセスして mirakurun, epgstation が動作していることを確認.xxx.xxx.xxx.xxx はインストールしているマシンの IP アドレス等に変更して確認してください.
http://xxx.xxx.xxx.xxx:40772
http://xxx.xxx.xxx.xxx:8888
チャンネル設定の更新.
地デジは下記コマンドで変更.
curl -X PUT "http://xxx.xxx.xxx.xxx:40772/api/config/channels/scan"
BS/CS などは https://gist.github.com/Connie-Wild/877b48382139fc03282eb448827c6d4b などを参考に mirakurun/config/channels.yml を変更.channels.yml を更新した後は mirakurun の画面 (http://xxx.xxx.xxx.xxx:40772) の右上の Restart を実行.
しばらくすれば epg が取得できるかと.
epgstaion 上 (http://xxx.xxx.xxx.xxx:8888) から録画を行って録画ファイルができていることを確認すればオッケーでしょう.
上記では b-cas カードの設定は行なっていないです.必要があれば各自設定してください.mirakurun の docker image に pcscd が含まれているみたいなのでカードリーダと b-cas カードを取り付ければ自動認識されそうな気がしますが未確認です.
また,録画データ保存先は docker-mirakurun-epgstation 以下の recorded ディレクトリに保存されますが,保存先を変更したい場合には docker-compose.yml の
- ./recorded:/app/recorded
の行を適当に変更してください./data/recorded 以下に保存したい場合には
- /data/recorded:/app/recorded
な感じになるかと.
あとは必要に応じて docker-compose.yml の細かい調整を行ったり,samba いれたり,minidlna いれたりすれば良いでしょう.
簡単ですがそんな感じ.
2024/8/31 追記)
b-cas カードの動作確認をしました.
調達した SCR3310 に TV に使っていた地デジ専用の b-cas カードを挿して pc に繋いだところ設定変更を行わなくても地デジのデコード録画はできました,リアルタイム視聴もできているようなので問題ないかと思います.