T230C v2でJ:COMトラモジ視聴する
J:COM + T230C + Mirakurun + EPGStation = ???
J:COMはISDB-CだがDVB-Cにarib25をくっつけただけなので動くという噂。
DVB-C対応チューナーで最安のLinux対応USBチューナーは?
→ MyGica (Geniatech) T230(C)
Aliexpressで2000円以内で購入可能。(2022.3現在 気づいたら購入できなくなっている)
PC環境
- Ubuntu 20.04 LTS
- x86_64 (amd64) Mini PC
- Celeron N4120
今回の手順で必要なもの
- x86_64のLinuxマシン
- チューナー本体とアンテナ線
- B-CASカードとカードリーダー
- コマンド操作を恐れない気持ち
- 各種ソフト開発者への感謝
注意事項
- 特にネットワーク周り(ファイアウォールなど)の設定は手順として省略(自己責任で!)
各種接続
- アンテナ線に接続したチューナー本体
- B-CASカードを刺したカードリーダー
ファームウェアのダウンロードとインストール
組み込みのドライバーで動作するためドライバー必要ないが、必要なファームウェアを適切な位置に配置する。linuxtv.orgが参考になる。
1 2 |
git clone https://github.com/osmc/dvb-firmware-osmc sudo cp dvb-firmware-osmc/{dvb-tuner-si2141-a10-01.fw,dvb-demod-si2168-d60-01.fw} /lib/firmware/ |
ユーティリティをインストール&&ユーザーをvideoグループに追加
dvbデバイスにアクセスするためにグループを設定する。
1 2 3 |
sudo apt install dvb-tools -y sudo gpasswd -a $USER video sudo apt -y install pcscd libpcsclite-dev libccid unzip zip ffmpeg pkg-config automake cmake g++ autoconf git dkms build-essential pcsc-tools |
カードリーダーの認識
- pcsc_scanでカードリーダーがB-CASを認識しているか確認する
- Card state: Card inserted などが含まれるメッセージが出たらCtrl + Cで抜ける
1 |
pcsc_scan |
dvbconfにチャンネルリストを追加
※詳細は忘れたがこちらのスクリプトで生成したものだったかもしれないので、うまくいかない場合はそちらも参考にする。
1 2 |
sudo mkdir -p /usr/local/etc/dvbconf/ sudo wget -O /usr/local/etc/dvbconf/dvbv5_channels_t230_dvbc.conf https://ip1.info/dvbc/dvbv5_channels_t230_dvbc.conf |
チューナーの動作確認
- 存在を確認する。あればadapter0やadapter1のように見える。
1 |
ls /dev/dvb/ |
- DVBCモードに切り替える
※-a0 は存在を確認したadapterの番号に合わせる。複数ある場合はすべてのチューナーに行う。
1 |
dvb-fe-tool -a0 -d DVBC/ANNEX_A |
- チャンネルリストを使ってチャンネルスキャンをする。 (かなり時間がかかる・省略可)
1 |
dvbv5-scan -a0 /usr/local/etc/dvbconf/dvbv5_channels_t230_dvbc.conf |
nodeのインストール
- stable(偶数バージョン)のnodeを入れる。バージョンはMirakurunやEPG Stationに合わせる。
1 2 |
curl -sL https://deb.nodesource.com/setup_16.x | sudo -E bash sudo apt install -y nodejs |
Mirakurunのインストール
※本手順ではDockerを使っていないが、使う人はMirakurunのGitHubやEPGStationのGitHubを確認する。
1 2 3 |
sudo npm install pm2 -g sudo npm install mirakurun -g --unsafe --production sudo npm install rivarun -g |
arib-b25-stream-testのインストール
1 |
sudo npm install arib-b25-stream-test -g --unsafe |
Mirakurunのチャンネル・チューナー設定
- チャンネル(channels.yml)には、SKY(その他の衛星放送)として追加している。特に地上波チューナーと同居する場合はSKY推奨。Mirakurunの放送種別にCATVはない。
- チャンネル(channels.yml)の初期設定はCATVが使う可能性がある1~62、C13~C63全てが有効な設定、後からログなどを見ていらない分を無効化する。新局追加時は再編されることがあるので一旦全部有効にして様子を見る。
1 |
sudo wget -O /usr/local/etc/mirakurun/channels.yml https://ip1.info/dvbc/channels.yml |
- チューナー(tuners.yml)は2台分書いてあるので、環境に合わせて増減させる。
1 |
sudo wget -O /usr/local/etc/mirakurun/tuners.yml https://ip1.info/dvbc/tuners.yml |
Mirakurunの動作確認
- 再起動して設定を反映後、チャンネルが認識されるか確認する。
1 |
sudo mirakurun restart |
- サーバーIP:40772をブラウザ(またはcurlなど)で開き、Mirakurunがチャンネルを認識することを確認する。全てのチャンネルが出そろうまでには、やや時間がかかる。
MariaDBのインストール
- MySQLの代わりにMariaDBを使う。
- DigitalOcianのチュートリアルが参考になる。
- インストールして、初期セットアップスクリプトを呼び出す。
1 2 |
sudo apt update && sudo apt install mariadb-server sudo mysql_secure_installation |
- EPGStationの為にMariaDBでユーザーとデータベースを作成する
※MariaDBのSQLコンソールに入るコマンドはmysql。
1 |
sudo mysql -u root |
sqlのコンソールに入ったらユーザーとデータベースを作成する。
※ユーザー名: epguser / パスワード: epguserpassword / データベース: epgdata での作成例
1 2 3 4 |
CREATE USER epguser IDENTIFIED BY 'epguserpassword'; CREATE DATABASE epgdata; grant all privileges on epgdata.* to epguser@localhost identified by 'epguserpassword'; quit |
EPGStationのインストール
- EPGStationのGitHubからLinux用のセットアップマニュアルを確認する
- EPGStationをセットアップする
- EPGStationをGitHubからcloneして、EPGStationを実行可能にする。
1 2 3 4 |
git clone https://github.com/l3tnun/EPGStation.git cd EPGStation npm run all-install npm run build |
- テンプレートから初期設定をコピーする。
1 2 3 4 5 |
cp config/config.yml.template config/config.yml cp config/operatorLogConfig.sample.yml config/operatorLogConfig.yml cp config/epgUpdaterLogConfig.sample.yml config/epgUpdaterLogConfig.yml cp config/serviceLogConfig.sample.yml config/serviceLogConfig.yml cp config/enc.js.template config/enc.js |
- SQLまわりの設定を変える。(EPGStationの公式マニュアルを見ながら作業推奨)
※nanoでの編集を行う例
1 |
nano config/config.yml |
— 編集内容 —
1 2 3 4 5 6 7 8 9 |
dbtype: mysql dbtype: mysql mysql: host: 127.0.0.1 port: 3306 user: epguser password: epguserpassword database: epgdata charset: utf8mb4 |
— ここまで —
- pm2で自動起動させる
1 2 3 4 |
sudo npm install pm2 -g sudo pm2 startup ubuntu pm2 start dist/index.js --name "epgstation" pm2 save |
- EPGStaionの動作を確認する
サーバーIP:8888をブラウザ(またはcurlなど)で開き、EPGStationで番組表が見られることを確認する。Mirakurun起動直後で番組表を取得できていない場合はすぐに出てこないこともある。
End. 快適な視聴と録画の日々を楽しむ
※以下は追加要素。
- Plex Media Server / Emby Media Serverなどと連携してリモート視聴環境/モバイルでの視聴を整える(要ライセンス購入)
- Fire TVやKodiなどのクライアントと接続して大画面で楽しむ
- Slackに通知を飛ばして録画状況を確認する
- エンコード設定を調整して好みの品質に仕上げる。Amatsukazeなどと連動してエンコード、CMカットなどを自動化する。
- などなど
参考にしたページ
追記: 書き終えた後に見つけた記事
https://mi.okin-jp.net/@okin_p(Misskey)
https://fi.okin-jp.net/@okin_p(Firefish)
https://si.okin-jp.net/@okin_p(Mastodon)
https://fedifile.net/@okin_p/profile/
https://twpf.jp/okin_p
http://profile.hatena.ne.jp/okin_p/
名前:おきん
やってること:面倒なことをPHPにやらせる、IPv6でなにかする、車で移動する
主なガジェット:Google Pixel 4a (5G) ,iPhone XS(ジャンク), iPad mini5, その他
種別:猫 over IPv6 run on PHP
パソコンやガジェットについて書いていく…予定。