「PLEX PX-Q3PE4 で docker-mirakurun-epgstation を使いたい」
https://qiita.com/nanbuwks/items/640ee4405e1fdd2ca497
では PX-Q3PE4 を使い、Ubuntu20.04上にDockerで録画環境を構築しました。
PX-Q3PE4 は 2枚購入し、ゆくゆくは地デジx8 衛星x8 同時録画可能にしようかと思ってましたが・・・・1枚は不良、もう1枚もなんだか調子が悪い?
衛星放送がDropが多くて視聴に支障が出るレベルです。
試しにチューナーを変えてみました。
PLEX の PX-MLT8PE です。
この記事は、PX-MLT8PE を使ってトラブルシュートする経緯です。(今後書き足していきます。)
環境
- Ubnuntu 20.04
- ドライバ
設定変更なしで動作
デバイスファイルが変更になるのでは? と思ったが、px4video[n] のままだった
$ ls -alh /dev/px*
crw-rw-r-- 1 root video 234, 0 1月 2 15:15 /dev/px4video0
crw-rw-r-- 1 root video 234, 1 1月 2 15:15 /dev/px4video1
crw-rw-r-- 1 root video 234, 2 1月 2 15:15 /dev/px4video2
crw-rw-r-- 1 root video 234, 3 1月 2 15:15 /dev/px4video3
crw-rw-r-- 1 root video 234, 4 1月 2 15:15 /dev/px4video4
crw-rw-r-- 1 root video 234, 5 1月 2 15:15 /dev/px4video5
crw-rw-r-- 1 root video 234, 6 1月 2 15:15 /dev/px4video6
crw-rw-r-- 1 root video 234, 7 1月 2 15:15 /dev/px4video7
そのまま、PX-Q3PE4と同じ使い心地で使用できました。
2023/11/22 追記
別の環境で換装したら、以下のようになりました。
$ ls -alh /dev/px*
crw-rw-r-- 1 root video 234, 0 11月 22 22:05 /dev/pxmlt8video0
crw-rw-r-- 1 root video 234, 1 11月 22 22:05 /dev/pxmlt8video1
crw-rw-r-- 1 root video 234, 2 11月 22 22:05 /dev/pxmlt8video2
crw-rw-r-- 1 root video 234, 3 11月 22 22:05 /dev/pxmlt8video3
crw-rw-r-- 1 root video 234, 4 11月 22 22:05 /dev/pxmlt8video4
crw-rw-r-- 1 root video 234, 5 11月 22 22:05 /dev/pxmlt8video5
crw-rw-r-- 1 root video 234, 6 11月 22 22:05 /dev/pxmlt8video6
crw-rw-r-- 1 root video 234, 7 11月 22 22:05 /dev/pxmlt8video7
この換装のときは、旧ドライバを$ sudo make uninstall
してから新ドライバを $ sudo make install
し直しました。それが原因かな?
換装前に調子の悪かった BS12 も視聴できたので受信感度を調べてみました。
換装前の受信感度
# checksignal --device /dev/px4video5 171 # BS12
device = /dev/px4video5
C/N = 5.899209dB^C
SIGINT received. cleaning up...
# checksignal --device /dev/px4video5 231 # 放送大学
device = /dev/px4video5
C/N = 13.987986dB^C
SIGINT received. cleaning up...
# checksignal --device /dev/px4video5 101 # NHK BS1
device = /dev/px4video5
C/N = 17.303457dB^C
SIGINT received. cleaning up...
# checksignal --device /dev/px4video5 231 # 放送大学を再度
device = /dev/px4video5
C/N = 17.090128dB^C
SIGINT received. cleaning up...
換装後の受信感度
# checksignal --device /dev/px4video4 101 # NHK BS1
device = /dev/px4video4
C/N = 17.943447dB^C
SIGINT received. cleaning up...
# checksignal --device /dev/px4video4 231 # 放送大学
device = /dev/px4video4
C/N = 17.516788dB^C
SIGINT received. cleaning up...
# checksignal --device /dev/px4video4 171 # BS12
device = /dev/px4video4
C/N = 5.359610dB^C
あまり変わりないかな?
tuners.yml を変更
- name: adapter_px0_0
types:
- BS
- CS
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_1
types:
- BS
- CS
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_2
types:
- GR
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_3
types:
- GR
.
.
.
となっているのを、
- name: adapter_px0_0
types:
- BS
- CS
- GR
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_1
types:
- BS
- CS
- GR
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_2
types:
- BS
- CS
- GR
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_3
types:
- BS
- CS
- GR
.
.
.
と変更しました。
反映は docker 起動し直しでOKかな?
テスト
であるはずなのであるが・・・
# checksignal --device /dev/px4video5 171 # BS12
device = /dev/px4video5
C/N = 5.467529dB^C
SIGINT received. cleaning up...
# checksignal --device /dev/px4video5 27 # NHK総合
No signal. Still trying: /dev/px4video5
No signal. Still trying: /dev/px4video5
No signal. Still trying: /dev/px4video5
.
.
.
/devpx4video5 で地上波が受信できませんね。
ドライバを入れ替えないといけないかな?
とりあえず tuner.yml はもとに戻して、しばらく使ってみることにしました。
ちゃんとした換装
(2023/09/30 追記)
旧ドライバをアンインストール、新ドライバをインストールし直すと、以下のように正しくデバイスファイルができました。
$ ls -alh /dev/px*
crw-rw-r-- 1 root video 234, 0 11月 22 22:05 /dev/pxmlt8video0
crw-rw-r-- 1 root video 234, 1 11月 22 22:05 /dev/pxmlt8video1
crw-rw-r-- 1 root video 234, 2 11月 22 22:05 /dev/pxmlt8video2
crw-rw-r-- 1 root video 234, 3 11月 22 22:05 /dev/pxmlt8video3
crw-rw-r-- 1 root video 234, 4 11月 22 22:05 /dev/pxmlt8video4
crw-rw-r-- 1 root video 234, 5 11月 22 22:05 /dev/pxmlt8video5
crw-rw-r-- 1 root video 234, 6 11月 22 22:05 /dev/pxmlt8video6
crw-rw-r-- 1 root video 234, 7 11月 22 22:05 /dev/pxmlt8video7
これにあわせて、各設定を変更していきます。
tuners.yml を変更
- name: adapter_px0_0
types:
- BS
- CS
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_1
types:
- BS
- CS
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_2
types:
- GR
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_3
types:
- GR
.
.
.
となっているのを、
- name: adapter_px0_0
types:
- BS
- CS
- GR
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_1
types:
- BS
- CS
- GR
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_2
types:
- BS
- CS
- GR
command: recpt1 <channel> - -
decoder: arib-b25-stream-test
- name: adapter_px0_3
types:
- BS
- CS
- GR
.
.
.
と変更しました。
docker-compose.yml を編集します。
/dev/px4video0:/dev/px4video0
などとなっているところを
/dev/pxmlt8video0:/dev/px4video0
と変更しました。
$ docker-compose up -d --build
とすると、
Building mirakurun
[+] Building 104.1s (14/14) FINISHED docker:default
=> [internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 1.38kB 0.0s
=> WARN: Empty continuation line found in: RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-r 0.0s
=> [internal] load .dockerignore 0.0s
=> => transferring context: 202B 0.0s
=> [internal] load metadata for docker.io/library/node:18.15.0-buster-slim 1.6s
=> [internal] load metadata for docker.io/library/node:18.15.0-buster 1.7s
=> [build 1/4] FROM docker.io/library/node:18.15.0-buster@sha256:923970553877d588977a835160f2f40a295fd788838c0a88e41e91bc1b6274e 0.0s
=> [stage-1 1/4] FROM docker.io/library/node:18.15.0-buster-slim@sha256:8fc14971a14387a8b2cbeeddbd2298f73d8e2346dc24648096ca24e5 0.0s
=> [internal] load build context 0.0s
=> => transferring context: 11.92kB 0.0s
=> CACHED [build 2/4] WORKDIR /app 0.0s
=> [build 3/4] ADD . . 0.1s
=> [build 4/4] RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends build-essential & 91.6s
=> CACHED [stage-1 2/4] WORKDIR /app 0.0s
=> CACHED [stage-1 3/4] RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends c 0.0s
=> [stage-1 4/4] COPY --from=build /usr/local/lib/node_modules/mirakurun /app 3.8s
=> exporting to image 3.0s
=> => exporting layers 3.0s
=> => writing image sha256:0d3cbf15e14294fdf30d398a286549ae999d4a901dec68e0c1eb9bf5b117affa 0.0s
=> => naming to docker.io/chinachu/mirakurun 0.0s
1 warning found (use --debug to expand):
- Empty continuation line found in: RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends ca-certificates make gcc g++ pkg-config pcscd libpcsclite-dev libccid libdvbv5-dev pcsc-tools dvb-tools && apt-get install -y --no-install-recommends build-essential libtool autoconf git automake && git clone https://github.com/stz2012/recpt1 /tmp/recpt1 && cd /tmp/recpt1/recpt1 && ./autogen.sh && ./configure && make && make install && apt-get autoremove -y && apt-get clean && rm -rf /var/lib/apt/lists/*
Building epgstation
[+] Building 548.3s (6/6) FINISHED docker:default
=> [internal] load .dockerignore 0.0s
=> => transferring context: 75B 0.0s
=> [internal] load build definition from debian.Dockerfile 0.0s
=> => transferring d
.
.
.
=> => extracting sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 0.0s
=> [2/2] RUN apt-get update && apt-get -y install make gcc git g++ automake curl wget autoconf build-essential libass-dev 519.3s
=> exporting to image 3.6s
=> => exporting layers 3.6s
=> => writing image sha256:aa84b70e46afa3878869cfd3f40149abba6f78e9d53fd78d7cc39287561898f0 0.0s
=> => naming to docker.io/library/docker-mirakurun-epgstation_epgstation 0.0s
docker-mirakurun-epgstation_mysql_1 is up-to-date
Recreating docker-mirakurun-epgstation_mirakurun_1 ... done
Recreating docker-mirakurun-epgstation_epgstation_1 ... done
ちょっと待っていると、ビルドが終わり動作しました。