UbuntuでKonomiTVをセットアップ

以前、WindowsでKonomiTVを使う方法を紹介した事がありましたが、Windowsは余計なサービスが沢山起動していたり、アップデートで正常に動作しなくなったりするので、安定性と速度を求めるならLinux上に構築したほうがよいです。
ここでは最小限の構成で使えるようにする方法を紹介。といっても、作者サイトで分かりやすく掲載されているので、あくまでも自分用のメモとして。ここでは視聴のみで、録画もするならEDCBを入れたりします。

動作のイメージとしては次のような形です。

チューナー
  ↓
recisdb(受信とB25デコード)
  ↓
Mirakurun(チューナー管理)
  ↓
KonomiTV(視聴・番組表・再生)

そしてOSは「Ubuntu 25.10」、チューナーは「DTV02A-1T1S-U」の例です。

作業準備

これは作業しやすいように自分用のメモ(全てがそうですが)。

Ubuntuセットアップ
リモートデスクトップ有効(別環境から作業しやすいように)
Tailscaleセットアップ(どこからでもアクセス出来るように)
  まずアプリセンターからインストールしてから起動。

sudo tailscale up

Cockpitセットアップ(サーバ管理や、コード入力などがやりやすいように)

sudo apt install -y cockpit

Webブラウザで「https://コンピュータ名やIPアドレス:9090」にアクセス。
これで、サーバには触ることなく、別環境からセットアップ出来ます。

チューナードライバ適用

先述したように「DTV02A-1T1S-U」を使うので作者サイトの手順通りで。

wget https://github.com/tsukumijima/px4_drv/releases/download/v0.5.5/px4-drv-dkms_0.5.5_all.deb
sudo apt install -y ./px4-drv-dkms_0.5.5_all.deb
rm ./px4-drv-dkms_0.5.5_all.deb

認識しているか確認。

sudo modprobe px4_drv
lsmod | grep -e ^px4_drv
ls /dev/isdb2056video*

recisdbのインストール

これも作者サイトに記載されている通りに進めればよいです。簡単なコマンドでインストール出来るので、インストールしたら次のISDBScannerのインストールに進みます。ちなみに、カードリーダーを使わない方法の場合は、カードリーダーを見にいかないように設定する必要があるようです。これを詳しく丁寧に解説してあるサイトがあったので、もし導入したい場合はそのサイトの説明を見ながら進めるとよさそうです。一応、メモとしてここに残しておきます。

作業環境構築

sudo mkdir dtv
cd dtv
sudo apt install autoconf automake cmake libtool libpcsclite-dev -y
sudo apt install git -y

libyakisobaのインストール

sudo apt install git
sudo git clone https://github.com/tsunoda14/libyakisoba.git
cd libyakisoba
sudo autoreconf -i
sudo mkdir build
cd build
sudo ../configure --sysconfdir /usr/local/etc
sudo make
sudo make install
cd ../../

libsobacasのインストール

sudo git clone https://github.com/tsunoda14/libsobacas.git
cd libsobacas
sudo autoreconf -i
sudo mkdir build
cd build
sudo ../configure
sudo make
sudo make install
ls /usr/local/lib

これらがインストールされていればOK。

libsobacas.a   libsobacas.so.0      libyakisoba.la    libyakisoba.so.0.0.1
libsobacas.la libsobacas.so.0.0.0 libyakisoba.so libsobacas.so
libyakisoba.a libyakisoba.so.0

bcas_keys

sudo nano /usr/local/etc/bcas_keys

自信のキーを記載し、Ctrl+OEnterCtrl+Xで保存します。

recisdbのインストール

cd ../../
sudo git clone --recursive https://github.com/kazuki0824/recisdb-rs.git
sudo apt install -y build-essential libclang-dev cmake libdvbv5-dev libpcsclite-dev libudev-dev pkg-config
sudo apt install curl
sudo curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

途中の質問は「1」を入力。

. "$HOME/.cargo/env"
cargo --version

ビルド設定ファイルを編集。

sudo nano recisdb-rs/b25-sys/build.rs

最後のほうにある2箇所の「libpcsclite」を「libsobacas」に書き換えて保存。

次にlibsobacas.pcを作成

sudo mkdir /usr/local/lib/pkgconfig
sudo nano /usr/local/lib/pkgconfig/libsobacas.pc

内容は下記。入力して保存。

prefix=/usr/local
libdir=/usr/local/lib
includedir=/usr/include
Name: libsobacas
Description: PCSC compatible ECM deocder library
Version: 0.0.0
Libs: -L${libdir} -lsobacas
Cflags: -I${includedir}/PCSC

ビルドして移動。ユーザーのアクセス権部分はいらないかも。

sudo chown -R user:user /home/user/dtv/recisdb-rs

cd recisdb-rs
cargo build -F dvb --release
sudo cp -a target/release/recisdb /usr/local/bin

受信出来ていればOK。

sudo recisdb tune --device /dev/isdb2056video0 --channel T27 -t 10 test.ts

ISDBScanner のインストールと実行

Mirakurunのチャンネルスキャンは遅いので、KonomiTV作者が作られたツールを利用。なお、ここではx86_64環境の方法のみ記述。

sudo wget https://github.com/tsukumijima/ISDBScanner/releases/download/v1.3.3/isdb-scanner -O /usr/local/bin/isdb-scanner
sudo chmod +x /usr/local/bin/isdb-scanner

接続されている利用可能なチューナーのリスト表示。

isdb-scanner --list-tuners

BS の有料放送とCS チャンネルをスキャン結果に含めてスキャンするには次のコマンド。

isdb-scanner ./scanned/

ちなみにBSの有料放送とCSを除外してスキャンする場合は次のコマンド。
isdb-scanner --exclude-pay-tv ./scanned/

Mirakurunのインストール

古いNodeをインストールしてバージョンを確認。

curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt install -y nodejs
node -v
npm -v

Mirakurunの古いバージョンをインストールしてバージョン確認。

sudo npm install -g pm2
sudo npm install -g --unsafe-perm --foreground-scripts --production mirakurun@3.9.0-rc.4
curl http://127.0.0.1:40772/api/version

Mirakurunを停止してチャンネルファイルをコピー

sudo mirakurun stop
sudo cp -a scanned/Mirakurun/channels.yml /usr/local/etc/mirakurun/channels.yml
sudo cp -a scanned/Mirakurun/tuners.yml /usr/local/etc/mirakurun/tuners.yml
sudo chown -R root /usr/local/etc/mirakurun/
sudo mirakurun start

動作を確認するなら、サーバマシン上でWebブラウザを起動し「http://127.0.0.1:40772/」にアクセス。

KonomiTVのインストール

Dockerでもインストール出来るけれど、PM2による直接インストールがおすすめ。

curl -LO https://github.com/tsukumijima/KonomiTV/releases/latest/download/KonomiTV-Installer.elf
chmod +x KonomiTV-Installer.elf
sudo ./KonomiTV-Installer.elf

以降は各自の設定だけれど、設定例として。

/home/user/KonomiTV
Mirakurun
http://127.0.0.1:40772/
/home/user/ビデオ

インストールが完了すれば、サーバ上のPCなら「https://my.local.konomi.tv:7000/」でアクセス。Tailscale経由で別PCからなら「https://100-xx-xx-xx.local.konomi.tv:7000/

視聴する際に、映像再生で失敗を繰り返すなら、エンコーダを見直してFFmpegに変更。KonomiTVの画面でアカウントを登録すれば、Web上で設定変更が可能。

Intel Media Driverのインストール

詳しくは作者の説明を見ると良いのですが、QSVEncを利用するなら Intel Media Driver のインストールが必要。Ubuntu 25.10では、旧来のIntel Media SDK (libmfx1) が廃止され、次世代のoneVPL (Video Processing Library) への移行が完了しています。そのため、パッケージ名が変更されたり、機能が統合されたりしています。そのため次のコマンドでインストール。

sudo apt update
sudo apt install -y \
  intel-media-va-driver-non-free \
  intel-opencl-icd \
  libigfxcmrt7 \
  libmfx-gen1.2 \
  libvpl2 \
  libva-drm2 \
  libva-x11-2 \
  vainfo

vainfoがうまく入らなかったので再度。

sudo apt install vainfo
vainfo

iHD driver がロードされ、各コーデック(H.264, HEVC, AV1等)のプロファイルが表示されれば成功。
これでももしエラーが出るようなら、vainfoが通っていてもlibvpl などのランタイムが必要です。

sudo apt install libvpl2 libvpl-dev libmfx-gen1

各種設定ファイルの場所

各設定ファイルの場所と編集のためのコマンド。

nano /usr/local/etc/mirakurun/server.yml
nano /usr/local/etc/mirakurun/channels.yml
nano /usr/local/etc/mirakurun/tuners.yml
nano KonomiTV/config.yaml
sudo nano /usr/local/etc/bcas_keys