EMM処理をしたいということで、軽く調べたところ、
デコーダーに-mオプションを付けるだけという話だったが、
これがどうもうまくいかない
- name: adapter0
types:
- BS
- CS
dvbDevicePath: /dev/dvb/adapter0/dvr0
decoder: arib-b25-stream-test
command: >-
dvbv5-zap -a 0 -c ./config/dvbconf-for-isdb/conf/dvbv5_channels_isdbs.conf
-r -P
isDisabled: fals
という訳でログを漁ると...
>info: TSDecoder#12 process has spawned by command `arib-b25-stream-test -m` (pid=NaN)
>warn: TSDecoder#12 process will force killed because no respond...
>error: TSDecoder#12 unexpected dead
>warn: TSDecoder#12 has been fallback into pass-through stream
そもそもmirakurunは処理できずにパススルーしており、
どうもクライアント側でデコードしていた、ということらしい。docker内でコマンド確認をすると...
arib-b25-stream-test - ARIB STD-B25 test program version 0.2.10
usage: arib-b25-stream-test [options]
options:
-r round (integer, default=4)
-s strip
0: keep null(padding) stream (default)
1: strip null stream
-m EMM
0: ignore EMM (default)
1: send EMM to B-CAS card
-p power_on_control_info
0: do nothing additionally
1: show B-CAS EMM receiving request (default)
-v verbose
0: silent
1: show processing status (default)
-a acas
0: B-CAS mode (default)
1: ACAS mode
以下pcsc_scan
を通したところ、これもOK
0: SCM Microsystems Inc. SCR 3310 [CCID Interface] () 00 00
Reader 0: SCM Microsystems Inc. SCR 3310 [CCID Interface] () 00 00
Event number: 0
Card state: Card inserted,
しかし、エラーは変わらず。絶対パスを指定しても、起動もせず終了。
AI曰く、スクリプトを読み込ませたらいいよ、と言われたので素直に
言われるがまま、以下の通り準備し
echo '#!/bin/bash' > ./mirakurun/conf/decode.sh
echo '/usr/local/bin/arib-b25-stream-test -m 1' >> ./mirakurun/conf/decode.sh
chmod +x ./mirakurun/conf/decode.sh #実行権限の付与
指定
/app-config/decode.sh
これを実行したところ、mirakurunでのデコードも無事に始まり、EMM処理も無事終了。
EMM処理のつもりがデコーダーがそもそも動いてなかったという問題点が解決されて結果オーライだった。
映像が映るまでの時間が明らかに早くなったのに少し笑ってしまった。

