前回はWineを利用したWindows版EDCBをUbuntuで動作する方法でしたが、今回はLinux版のEDCBを使う方法です。もしWine版を利用している場合はDockerを停止してから作業します。
なお、導入についてはこちらのサイトで詳しく書かれています。ここでは自分用に。
EDCB(EpgDataCap_Bon)のインストール
dtvフォルダ内に作成します。
cd ~/dtv
sudo apt install git make gcc g++ liblua5.2-dev lua-zlib curl ffmpeg -y
git clone https://github.com/xtne6f/EDCB
cd EDCB/Document/Unix
make
sudo make install
make extra
sudo make install_extra
sudo mkdir /var/local/edcb
sudo chown $USER /var/local/edcb
make setup_ini
cd ../../..
B25Decoderのインストール
B25デコーダーを入れます。
sudo apt install git make g++ libpcsclite-dev pkg-config pcscd pcsc-tools -y
git clone https://github.com/tsukumijima/Multi2Dec
cd Multi2Dec/B25Decoder
make
sudo cp B25Decoder.so /usr/local/lib/edcb/
cd ../..
EDCB Material WebUIのインストール
git clone https://github.com/EMWUI/EDCB_Material_WebUI
cd EDCB_Material_WebUI
cp -r HttpPublic /var/local/edcb/
cp -r Setting /var/local/edcb/
cd ..
BonDriver_LinuxPTXのインストール
sudo apt install git make g++ -y
git clone https://github.com/nns779/BonDriver_LinuxPTX
cd BonDriver_LinuxPTX
make
sudo cp BonDriver_LinuxPTX.so /usr/local/lib/edcb/BonDriver_LinuxPTX-0.so
sudo cp BonDriver_LinuxPTX.ini /usr/local/lib/edcb/BonDriver_LinuxPTX-0.ini
sudo sed -i -e 's/^Name=".*/Name="ISDB2056"/;s/^Device=.*/Device=\/dev\/isdb2056video0/;s/^Space=.*/Space=UHF,BS,CS110/' /usr/local/lib/edcb/BonDriver_LinuxPTX-0.ini
cd ..
もし、最後のBonDriver_LinuxPTX-0.iniの編集を手動でやるなら「sudo nano /usr/local/lib/edcb/BonDriver_LinuxPTX-0.ini」。
EDCBのチャンネルスキャン
時間がかかります。「ChScan Completed」と出るまで気長に待ちます。スキャン済みデータがあればそれをコピーしてもOK。
cd ~/dtv/EDCB
EpgDataCap_Bon -d BonDriver_LinuxPTX-0.so -chscan
EDCBの初期設定
WebUIからの設定変更を可能に。
sed -i -e 's/^ALLOW_SETTING=.*/ALLOW_SETTING=true/' /var/local/edcb/HttpPublic/legacy/util.lua
Tailscaleからもアクセス出来るように。
tee /var/local/edcb/EpgTimerSrv.ini << 'EOT'
[SET]
EnableHttpSrv=1
HttpAccessControlList=+127.0.0.0/8,+10.0.0.0/8,+172.16.0.0/12,+192.168.0.0/16,+169.254.0.0/16,+100.64.0.0/10
RecEndMode=0
Data=1
EnableTCPSrv=1
EOT
録画保存フォルダを/var/local/edcb/HttpPublic/videoに変更。
mkdir /var/local/edcb/HttpPublic/video
tee /var/local/edcb/Common.ini << 'EOT'
[SET]
RecFolderPath0=/var/local/edcb/HttpPublic/video
RecFolderNum=1
EOT
EDCBのサービス登録
sudo tee /etc/systemd/system/edcb.service << EOT
[Unit]
Description=EpgTimerSrv
After=network-online.target
[Service]
ExecStart=/usr/local/bin/EpgTimerSrv
Restart=always
StandardError=journal
StandardOutput=null
TimeoutStopSec=50
Type=simple
User=$USER
[Install]
WantedBy=default.target
EOT
sudo systemctl enable edcb
EDCBの起動
sudo systemctl start edcb
起動したら、http://127.0.0.1:5510 などにアクセスし、最低限、設定メニューのBonDriverの数を指定します。


設定が終わったらEDCBを再起動して、EPGを取得します。
sudo systemctl restart edcb
プロセスが残っているようなら以下の方法でリスタート。
sudo systemctl stop edcb
sudo pkill -9 EpgTimerSrv
sudo pkill -9 EpgDataCap_Bon
sudo systemctl start edcb
EDCB Material WebUI(http://127.0.0.1:5510/EMWUI/epg.html)でも操作出来ます。

各種ファイルの保存場所
EpgDataCap_Bon
/usr/local/bin
BonDriver
/usr/local/lib/edcb
チャンネル設定やEPGデータ
/var/local/edcb/Setting
録画保存場所
/var/local/edcb/HttpPublic/video
