録画サーバの構築編です。
OSはUbuntu 18.04にしました。
Ubuntu
Ubuntu Desktop 18.04 LTSを以下からダウンロードしてUSBインストーラを作成。 jp.ubuntu.com
まぁデスクトップ環境は必須でないので、Serverでもよいと思います。 インストールが終わったら、古いパッケージを更新しましょう。
$ sudo apt update $ sudo apt upgrade
$ sudo apt install openssh-server
別マシンからSSHする。
$ ssh user1@録画サーバのIP
固定IPアドレスに変更したい場合
DHCPから固定IPアドレスに変えたい場合は、以下のとおり。
まずデバイス名を調べる
$ ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: enp0s31f6: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000 link/ether 2c:fd:a1:e2:01:dd brd ff:ff:ff:ff:ff:ff inet 10.0.1.2/24 brd 10.0.1.255 scope global enp0s31f6 valid_lft forever preferred_lft forever inet6 fe80::2efd:a1ff:fee2:1dd/64 scope link valid_lft forever preferred_lft forever
以下のファイルを編集し再起動してください。
/etc/netplan/01-network-manager-all.yaml
# Let NetworkManager manage all devices on this system network: version: 2 renderer: networkd ethernets: enp0s31f6: dhcp4: no dhcp6: no addresses: [10.0.1.5/24] gateway4: 10.0.1.1 nameservers: addresses: [10.0.1.1]
再起動後に、再度ip a
で正しくIPアドレスが設定されているか確認してください。
PLEX非公式ドライバ(px4_drv)
まずは、ドライバと録画コマンドをインストールしていきます。
以下の非公式ドライバをインストールします。
手順はこちらのブログ記事を参考にしました。
Q3PE4を使っていますが、W3U4想定の手順になっていますが、問題なく使えました。
ドライバのインストールはこちらの手順ではなく、上記ブログのとおり以下のスクリプトを作りました。
- dkms.install
#!/bin/sh . ./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
- dkms.unintall
#!/bin/sh . ./dkms.conf dkms remove -m $PACKAGE_NAME -v $PACKAGE_VERSION --all rm -vrf /usr/src/$PACKAGE_NAME-$PACKAGE_VERSION
実行権限をつけるなら以下のとおり。
$ chmod 755 ./dkms.install $ chmod 755 ./dkms.uninstall
インストールは以下のとおり。
$ sudo ./dkms.install
ドライバを更新する際は以下のとおり。
$ git pull $ sudo ./dkms.uninstall $ sudo ./dkms.install
libarib25
libarib25はARIB STD-B25 仕様確認テストプログラムです。B-CASカードを利用するのに必須なライブラリです。仕様確認といいつつ実用に耐えれます。
$ cmake . $ make $ sudo make install
recpt1
録画コマンド recpt1は(PLEX社配布のもの)http://plex-net.co.jp/download/linux/Linux_Driver.zip でもいいですが、STZ版をインストールしました(stz2012/recpt1にはdriverもありますがPT1用みたいなので無視してください)。
$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install
変更は以下です。無関係なデバイスの削除やコマンド名(サフィックス)の修正などです。
diff --git a/recpt1/Makefile.in b/recpt1/Makefile.in index 5bf8f68..ec9c771 100644 --- a/recpt1/Makefile.in +++ b/recpt1/Makefile.in @@ -4,9 +4,9 @@ exec_prefix = @exec_prefix@ bindir = @bindir@ CC = @CC@ -TARGET = recpt1 -TARGET2 = recpt1ctl -TARGET3 = checksignal +TARGET = recpt1_px4 +TARGET2 = recpt1ctl_px4 +TARGET3 = checksignal_px4 TARGETS = $(TARGET) $(TARGET2) $(TARGET3) RELEASE_VERSION = "c8688d7d6382_with_http_server_RC4 by stz2012" diff --git a/recpt1/pt1_dev.h b/recpt1/pt1_dev.h index 60369c7..e724c92 100644 --- a/recpt1/pt1_dev.h +++ b/recpt1/pt1_dev.h @@ -3,36 +3,12 @@ #define _PT1_DEV_H_ char *bsdev[NUM_BSDEV] = { - "/dev/pt1video1", - "/dev/pt1video0", - "/dev/pt1video5", - "/dev/pt1video4", - "/dev/pt1video9", - "/dev/pt1video8", - "/dev/pt1video13", - "/dev/pt1video12", - "/dev/pt3video1", - "/dev/pt3video0", - "/dev/pt3video5", - "/dev/pt3video4", "/dev/px4video0", "/dev/px4video1", "/dev/px4video4", "/dev/px4video5" }; char *isdb_t_dev[NUM_ISDB_T_DEV] = { - "/dev/pt1video2", - "/dev/pt1video3", - "/dev/pt1video6", - "/dev/pt1video7", - "/dev/pt1video10", - "/dev/pt1video11", - "/dev/pt1video14", - "/dev/pt1video15", - "/dev/pt3video2", - "/dev/pt3video3", - "/dev/pt3video6", - "/dev/pt3video7", "/dev/px4video2", "/dev/px4video3", "/dev/px4video6", diff --git a/recpt1/recpt1.h b/recpt1/recpt1.h index 0e1e9ce..cc9cc3d 100644 --- a/recpt1/recpt1.h +++ b/recpt1/recpt1.h @@ -2,8 +2,8 @@ #ifndef _RECPT1_H_ #define _RECPT1_H_ -#define NUM_BSDEV 16 -#define NUM_ISDB_T_DEV 16 +#define NUM_BSDEV 4 +#define NUM_ISDB_T_DEV 4 #define CHTYPE_SATELLITE 0 /* satellite digital */ #define CHTYPE_GROUND 1 /* terrestrial digital */ #define MAX_QUEUE 8192
カードリーダーのドライバインストール
$ sudo apt install pcscd pcsc-tools libpcsclite-dev
動作確認の前に、カードリーダをUSB接続後にB-CASカードをセットし、再起動しましょう。
$ pcsc_scan PC/SC device scanner V 1.5.2 (c) 2001-2017, Ludovic Rousseau <ludovic.rousseau@free.fr> Using reader plug'n play mechanism Scanning present readers... 0: SCM Microsystems Inc. SCR 3310 [CCID Interface] (XXXXXXXXXX) 00 00 ... Japanese Chijou Digital B-CAS Card (pay TV)
Japanese Chijou Digital B-CAS Card (pay TV)という文字列が表示されればOK。
そのうえで、以下のコマンドを実行し、TSファイルが生成されればOKです。WindowsかMacのマシンに転送し、TSファイルが再生できるかも確認しましょう。
$ recpt1_px4 --b25 --strip 27 10 ~/test.ts
うまく録画されていないときは、確認 のとおりに確認してみてください。
長くなったので、続きは別エントリに。