録画サーバーOS更新

CentOS7を使っていた録画サーバーのOSをUbuntuに変更して、再インストールします

バックアップ

旧サーバーから、epgstationの機能を使ってDBのデータをバックアップします。録画データも別途退避します。サムネイル等はあきらめます。

npm run buckup HOGEHOGE

OSインストール

CentOSの入っていたサーバーにUbuntuを入れます。インストールは通常通り行います。

HDDマウント

録画データ保存用に別途HDDを用意しているのでマウントします。/etc/fstabを編集して自動でマウントされるようにします。

ドライバ導入

以前と同じ 非公式ドライバを導入します。

make, gccが入っていなかったので導入します。

sudo apt install gcc make

必要なものをダウンロードします。

git clone https://github.com/nns779/px4_drv.git
wget http://plex-net.co.jp/download/pxw3pe4v1.4.zip

ファームウェア抽出ツール

cd px4_drv/fwtool/
make

gcc -O2 -Wall   -c -o fwtool.o fwtool.c
gcc -O2 -Wall   -c -o tsv.o tsv.c
gcc -O2 -Wall   -c -o crc32.o crc32.c
gcc -o fwtool fwtool.o tsv.o crc32.o

抽出実行

cd ../../
sudo apt install unzip
unzip pxw3pe4v1.4.zip
cd px4_drv/fwtool/
sudo ./fwtool ../../pxw3pe4v1.4/x64/PXW3PE4.sys it930x-firmware.bin
sudo cp -p it930x-firmware.bin /lib/firmware/
ls /lib/firmware/ | grep it930

it930x-firmware.bin
sudo apt install dkms
cd ../
vi dkms.install

dkms.installの内容

. ./dkms.conf
cp -a `pwd` /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION
dkms add -m $PACKAGE_NAME -v $PACKAGE_VERSION
dkms build -m $PACKAGE_NAME -v $PACKAGE_VERSION
dkms install -m $PACKAGE_NAME -v $PACKAGE_VERSION

実行

sudo bash dkms.install

確認。認識できていそう。

sudo modprobe px4_drv
ls /dev | grep px4

px4video0
px4video1
px4video2
px4video3

再起動後も読み込まれるように設定

sudo vi /etc/modules-load.d/px4_drv.conf

confの内容

px4_drv
sudo reboot

再起動後に再確認。大丈夫そう

ls /dev | grep px4

px4video0
px4video1
px4video2
px4video3

カードリーダー設定

ドライバの設定ができたので、カードリーダーの設定をします。

sudo apt install pcscd pcsc-tools libpcsclite-dev
sudo systemctl enable pcscd
pcsc_scan

Japanese Chijou Digital B-CAS Card (pay TV)

無事表示されたので大丈夫。

録画コマンドを入れる。

録画コマンド導入

sudo apt install pkg-config

mkdir arib25
cd arib25/
wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
unzip c44e16dbb0e2.zip
cd pt1-c44e16dbb0e2/
cd arib25/
make clean
make
sudo make install


sudo apt install automake

cd ../../../
mkdir recpt1
cd recpt1
wget http://plex-net.co.jp/download/linux/Linux%20Driver_21.07.05.zip
unzip Linux\ Driver_21.07.05.zip
cd MyRecpt1/recpt1/
chmod +x ./autogen.sh
./autogen.sh
chmod +x ./configure
./configure --enable-b25
make
sudo make install

録画チェックをしてみる。なんか良さそうなのでOK

recpt1 -b --device /dev/px4video2 22 10 test1.ts

docker導入

OS標準で入るdockerが古すぎるらしいので消して入れなおします。

sudo snap remove docker
sudo reboot

https://japan.zdnet.com/article/35190536/

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release -y
sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io -y

epgstation用のユーザーをつくり、dockerを触れるようにする

adduser epgstation
sudo usermod -aG docker epgstation

epgstation構築

https://github.com/l3tnun/docker-mirakurun-epgstation dockerで構築する。

ホストのpcscdは停止しなければならないようなので停止。docker-composeをsudoで実行しないといけないことに気づいたのでグループに追加

sudo passwd epgstation
sudo usermod -aG sudo epgstation

curl -sf https://raw.githubusercontent.com/l3tnun/docker-mirakurun-epgstation/v2/setup.sh | sh -s
cd docker-mirakurun-epgstation

vi tuners.yml 今回、BSは使用しないのでdisabledにしておきます

- name: PX4-S1
  types:
    - BS
    - CS
  command: recpt1 --device /dev/px4video0 --lnb 15 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: true

- name: PX4-S2
  types:
  command: recpt1 --device /dev/px4video1 --lnb 15 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: true

- name: PX4-T1
  types:
    - GR
  command: recpt1 --device /dev/px4video2 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false

- name: PX4-T2
  types:
    - GR
  command: recpt1 --device /dev/px4video3 <channel> - -
  decoder: arib-b25-stream-test
  isDisabled: false

このままだとrecpt1がなくて録画できないので、以下のサイトに従ってdockerFileを書き換えます https://qiita.com/nanbuwks/items/640ee4405e1fdd2ca497

docker-compose build

ビルドには時間がかかるのでただ待ちます。できたら起動します。

sudo docker-compose up -d

地上波のチャンネルスキャンを行うので、channels.ymlの地上波部分を削除してAPIをたたきます。

curl -X PUT "http://localhost:40772/api/config/channels/scan"

docker cpをして、DBのバックアップファイルをコンテナにコピーし、リストアしてから削除します。

npm run restore HOGEHOGE

epgstationのconfig.ymlはいい感じに編集します。 もろもろ終えれば再起動します。

sudo docker-compose down
sudo docker-compose up -d

これでだいたいの移行作業は終了だと思います。

Licensed under CC BY-NC-SA 4.0
Built with Hugo
テーマ StackJimmy によって設計されています。