自宅に設置している録画/TVサーバで遭遇することの多い以下のエラー。
error: TSDecoder#<数字> unexpected dead
毎回対処方法を忘れてしまうので自分用メモとして記載しておく。
原因
我が家での「unexpected dead」エラー発生の原因の99%はB-CASカードの接触不良。
サーバ更改するたびにカードリーダをそのまま使いまわしているのでそろそろ寿命かもしれない。
Mirakurunが稼働しているdockerコンテナ内でB-CASカードが認識できていなければ、
このエラーが発生し、映像が映らなくなってしまう。
逆に言うとB-CASが正常に認識されるようになれば解消する。
前提環境
筆者の環境は以下
OS:Ubuntu 24.04.2 LTS (GNU/Linux 6.11.0-26-generic x86_64)
Mirakurun:3.9.0-rc.2(docker)
対処方法
まずはB-CASカードが認識しているかどうか確認をする。
実行コマンド
# dockerコンテナ名の確認
docker ps --format "{{.Names}}"
# Mirakurunが動作しているdockerに入る
docker exec -it <コンテナ名> bash
# カード読み取り
pcsc_scan
実行例
root@Linux:~# docker ps --format "{{.Names}}"
epgstation-v2.6.20
mirakurun-3.9.0-rc.0
mysql-epgstation
root@Linux:~# docker exec -it mirakurun-3.9.0-rc.0 bash
root@<container-ID>:/app# pcsc_scan
Using reader plug'n play mechanism
Scanning present readers...
0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (XXXXXXXXXXXXXX) 00 00
Tue Dec 16 16:32:10 2025
Reader 0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (XXXXXXXXXXXXXX) 00 00
Event number: 18
Card state: Card inserted,
「Japanese Chijou Digital B-CAS Card (pay TV)」が表示されていないとB-CASカードは認識していない。
認識していないのであれば認識するまでカードを抜き差しする。
実行例
Tue Dec 16 16:32:18 2025
Reader 0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (XXXXXXXXXXXXXX) 00 00
Event number: 19
Card state: Card removed,
Tue Dec 16 16:32:21 2025
Reader 0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (XXXXXXXXXXXXXX) 00 00
Event number: 20
Card state: Card inserted, Unresponsive card,
Tue Dec 16 16:32:23 2025
Reader 0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (XXXXXXXXXXXXXX) 00 00
Event number: 21
Card state: Card removed,
Tue Dec 16 16:32:45 2025
Reader 0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (XXXXXXXXXXXXXX) 00 00
Event number: 22
Card state: Card inserted,
ATR: XX XX XX XX XX XX XX XX XX XX XX XX XX
ATR: XX XX XX XX XX XX XX XX XX XX XX XX XX
+ TS = XX --> Direct Convention
~中略~
+ TCK = XX (correct checksum)
Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
XX XX XX XX XX XX XX XX XX XX XX XX XX
Japanese Chijou Digital B-CAS Card (pay TV)
認識すればOK
Ctrl+Cで抜ける
念のためMirakurunを再起動する。
https://<サーバIP>:40772にアクセスし、Restartをクリック

多分コマンドで再起動しても問題ない(はず)
なんならOSごと再起動するもよし
実行コマンド
# Mirakukrun再起動
mirakurun restart
# OS再起動
systemctl reboot
Mirakurun再起動後、エラーが解消されていることを確認する。
TV映像が表示されればOK
最後に
個人的メモかつ自分の場合だいたいこれで解消しているが、
うまくいかない、余計にトラブルに発展したなどあっても責任取れないので
実施される場合は自己責任でお願いします。
