Qbilinux 日記

Linux に関係することだけではなく,最近は一般的なコンピュータやガジェット関係についても記載してます.

debian 12 に PX-MLT5PE と mirakurun, epgstation をインストールしてみたメモ

この手の話題に関してはもう書かないでおこうかなと思っていましたが,ざっと検索してもメモ的なものが見つからなかったので自分の備忘録的に書いておきたいと思います.

PLEX の内蔵型マルチTVチューナー PX-MLT5PE を入手して,新規に linux (debian 12) をインストールしてセットアップしたのでその時の手順をメモ.

PX-MLT5PE は 地デジ/BS/CS チューナーを 5ch 搭載した PC ようの PCI-Express カードです.

www.plex-net.co.jp

夏のセール(?)で安売りしていたので思わず購入.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 に繋いだところ設定変更を行わなくても地デジのデコード録画はできました,リアルタイム視聴もできているようなので問題ないかと思います.