TVサーバー構築(Mirakurun×UbuntuServer_22.04)
RaspberryPiにインストールしたUbuntusServerの上にTVサーバーを構築しました。
お手軽とうわさのDockerを使いました。
Dockerはほんとにお手軽でした!
ミスのしようが無いくらいに。
MirakurunサーバーのクライアントにはEPG-Stationを選びました。
こっちのほうがインストールが大変でした。
■ICカードリーダー
www.amazon.co.jp
■TVチューナー
www.amazon.co.jp
■やったこと
・Dockerのインストール
docs.docker.com
・Mirakurunのインストール (Dockerで)
github.com
※docker-compose コマンドは docker compose に読み替えました。
・EPG-Stationのインストール
github.com
■つまづきポイント (Mirakurun関連)
・Mirakurunは起動できたが、番組表データが取得できない
2022-07-23T16:29:12.204+09:00 warn: ChannelItem#'テレビ朝日' service scan has failed [Error: stream has closed before get network at TSFilter.<anonymous> (/app/src/Mirakurun/Tuner.ts:198:28) at TSFilter.emit (/app/node_modules/eventemitter3/index.js:201:33) at TSFilter._close (/app/src/Mirakurun/TSFilter.ts:1098:14) at TSFilter.close (/app/src/Mirakurun/TSFilter.ts:303:14) at Timeout._onTimeout (/app/src/Mirakurun/Tuner.ts:175:39) at listOnTimeout (node:internal/timers:559:17) at processTimers (node:internal/timers:502:7)]
原因: PX-S1UDのドライバーを入れていなかった
対処: ドライバーのインストール
sudo install -y unzip mkdir PX-S1UD_v2 cd PX-S1UD_v2 wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip unzip PX-S1UD_driver_Ver.1.0.1.zip sudo cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/ sudo reboot
■つまづきポイント (EPG-Station関連)
・$ npm run all-install に失敗する
npm WARN EBADENGINE Unsupported engine { npm WARN EBADENGINE package: 'mirakurun@3.9.0-beta.26', npm WARN EBADENGINE required: { node: '^14.17.0 || ^16' }, npm WARN EBADENGINE current: { node: 'v12.22.9', npm: '8.5.1' } npm WARN EBADENGINE }
原因: aptでインストールできるnpmのバージョンが古い
対処: nを使ってv14 or v16 のnpmを入れる
$ sudo npm install n -g $ sudo n 16 $ sudo apt purge nodejs npm $ exit
・$ npm run all-install に失敗する (その2)
1517 error /bin/sh: 1: python: not found
原因: UbuntuServerにはデフォルトでpythonコマンドはない(python3コマンドしかない)
対処: npmにpython3のパスを教えてあげる
$ npm config set python "$(which python3)"
・番組のライブ視聴ができない
2022-07-23T17:34:46.316+09:00 info: TSDecoder#4 process has spawned by command `arib-b25-stream-test` (pid=120) error - failed on B_CAS_CARD::init() : code=-4 2022-07-23T17:34:46.414+09:00 info: TSDecoder#4 process has closed with exit code=0 by signal `null` (pid=120) 2022-07-23T17:34:46.415+09:00 error: TSDecoder#4 unexpected dead
原因: B-CASカードをうまく読み込めていない
対処: B-CASカードの表裏が逆だった(青い面が下に来るように差すのが正解)
とりあえず動くようになってよかったけど、パフォーマンスに難ありなので、
何か対策を考えなくては。
監視も導入したい。夢が広がる。