読者です 読者をやめる 読者になる 読者になる

hpマイクロサーバN54Lを録画サーバに

PT3を導入

いよいよ本命の録画環境の構築に入る。録画にはPT3とChinachuを使用する。まづ必要な物を一式インストール。

$ sudo apt-get install autoconf build-essential curl dkms git-core libboost-all-dev libccid libpcsclite1 libpcsclite-dev libssl-dev libtool linux-headers-`uname -r` pcsc-tools pcscd pkg-config unzip yasm

次はPT3ドライバインストール。

$ git clone https://github.com/m-tsudo/pt3.git
$ cd pt3
$ make
$ sudo make install
$ sudo ${SHELL} ./dkms.install

カードリーダーのドライバ確認する。

$ pcsc_scan
PC/SC device scanner
V 1.4.23 (c) 2001-2011, Ludovic Rousseau <ludovic.rousseau@free.fr>
Compiled with PC/SC lite version: 1.8.11
Using reader plug'n play mechanism
Scanning present readers...
0: Identive CLOUD 2700 R Smart Card Reader [CCID Interface] (55291450204174) 00 00

Sat Sep 12 17:11:29 2015
Reader 0: Identive CLOUD 2700 R Smart Card Reader [CCID Interface] (55291450204174) 00 00
  Card state: Card inserted,
  ATR: 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99

ATR: 3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
+ TS = 3B --> Direct Convention
+ T0 = F0, Y(1): 1111, K: 0 (historical bytes)
  TA(1) = 12 --> Fi=372, Di=2, 186 cycles/ETU
    21505 bits/s at 4 MHz, fMax for Fi = 5 MHz => 26881 bits/s
  TB(1) = 00 --> VPP is not electrically connected
  TC(1) = FF --> Extra guard time: 255 (special value)
  TD(1) = 91 --> Y(i+1) = 1001, Protocol T = 1
-----
  TA(2) = 81 --> Protocol to be used in spec mode: T=1 - Unable to change - defined by interface bytes
  TD(2) = B1 --> Y(i+1) = 1011, Protocol T = 1
-----
  TA(3) = 7C --> IFSC: 124
  TB(3) = 45 --> Block Waiting Integer: 4 - Character Waiting Integer: 5
  TD(3) = 1F --> Y(i+1) = 0001, Protocol T = 15 - Global interface bytes following
-----
  TA(4) = 03 --> Clock stop: not supported - Class accepted by the card: (3G) A 5V B 3V
+ Historical bytes:
+ TCK = 99 (correct checksum)

Possibly identified card (using /usr/share/pcsc/smartcard_list.txt):
3B F0 12 00 FF 91 81 B1 7C 45 1F 03 99
        Japanese Chijou Digital B-CAS Card (pay TV)

認識されてるのでCtrl+cで終了し、放送データ復号用にarib25をインストール

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

次に録画プログラムをインストール。

$ git clone https://github.com/stz2012/recpt1.git
$ cd recpt1/recpt1
$ vi pt1_dev.h

$ ./autogen.sh
$ ./configure --enable-b25
$ make
$ sudo make install

chinachu用ユーザ作成。

$ sudo adduser chinachu

Chinachuユーザでsudoが使へるやうにグループを追加。

$ sudo usermod -G sudo chinachu

Chinachuをインストール。

$ su - chinachu
$ git clone git://github.com/kanreisa/Chinachu.git ~/chinachu
$ cd ~/chinachu/
$ ./chinachu installer
Chinachu Installer Menu:
[!] These are installed under all /home/chinachu/chinachu/...
[!] Recommend the Auto installation.
1) Auto (full)            5) Node.js Modules       9) libfdk-aac
2) Auto (fast)            6) epgdump              10) libogg
3) submodule              7) libx264              11) libvorbis
4) Node.js Environment    8) libvpx               12) ffmpeg
what do you install? >

ときいてくるので1のAutoを選択。次に起動時に実行されるよう設定。

$ ./chinachu service operator initscript > /tmp/chinachu-operator
$ ./chinachu service wui initscript > /tmp/chinachu-wui
$ sudo chown root:root /tmp/chinachu-operator /tmp/chinachu-wui
$ sudo chmod +x /tmp/chinachu-operator /tmp/chinachu-wui
$ sudo mv /tmp/chinachu-operator /tmp/chinachu-wui /etc/init.d/
$ sudo ln -s /usr/lib/insserv/insserv /sbin/insserv2
$ sudo insserv chinachu-operator
$ sudo insserv chinachu-wui

チャンネル等の基本設定をする。

$ cp config.sample.json config.json
$ vi config.json
$ echo [] > rules.json

サービスが動作するかとかを確認。

./chinachu service wui execute
./chinachu update -f

サービスを起動

$ sudo service chinachu-operator start
$ sudo service chinachu-wui start

あとはブラウザから設定とかルール作成とか録画予約、ライブ再生なんかできる。

録画用HDDを追加

$ sudo fdisk -l

Disk /dev/sda: 465.8 GiB, 500107862016 bytes, 976773168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xc00d6d50

Device     Boot     Start       End   Sectors  Size Id Type
/dev/sda1  *         2048 960526335 960524288  458G 83 Linux
/dev/sda2       960528382 976771071  16242690  7.8G  5 Extended
/dev/sda5       960528384 976771071  16242688  7.8G 82 Linux swap / Solaris

Disk /dev/sdb: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes

/dev/sdb が追加したHDDなのでこれにパーティションを作成してフォーマットしていく。fdiskは3TBのHDDに対応してないのでpartedとかつてのを使ふ。まづpartedがインストールされてないのでインストールから必要だつた。

$ sudo apt-get install parted
$ sudo parted /dev/sdb
(parted)mklabel gpt
(parted)unit GB
(parted)print
Model: ATA WDC WD30EZRX-00D (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start  End  Size  File system  Name  Flags

パーティション作成。

(parted)mkpart primary ext4 0 3001
(parted)print
Model: ATA WDC WD30EZRX-00D (scsi)
Disk /dev/sdb: 3001GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt
Disk Flags:

Number  Start   End     Size    File system  Name     Flags
 1      0.00GB  3001GB  3001GB  ext4         primary

(parted)q

fdiskで確認。

$ sudo fdisk -l /dev/sdb

Disk /dev/sdb: 2.7 TiB, 3000592982016 bytes, 5860533168 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: EEEC439E-9B71-47DE-9AC7-616E1C6C7DAA

Device     Start        End    Sectors  Size Type
/dev/sdb1   2048 5860532223 5860530176  2.7T Linux filesystem

新しくパーティションができたのでフォーマットする。

$ sudo mkfs -t ext4 /dev/sdb1
$ sudo mkdir /recorded
$ sudo chmod 777 /recorded
$ sudo mount /dev/sdb1 /recorded

起動時に自動でマウントさせる。

$ sudo vi /etc/fstab

/dev/sdb1 /recorded ext4 defaults 0 2

sambaの設定

録画場所をWindowsからも見られるやうにSambaの設定を変更。

$ sudo vi /etc/samba/smb.conf

↓を追加
[data]
path = /recorded
browseable = yes
writable = yes
valid users = aguri
guest ok = no
create mode = 0777
directory mode = 0777

Smaba用のOSユーザ追加。

sudo adduser aguri

samba用ユーザ追加。

$ sudo smbpasswd -a aguri
New SMB password:(パスワード入力)
Retype new SMB password:(パスワード入力)
Added user aguri.

一応Sambaを再起動。

$ sudo /etc/init.d/samba restart

これでDebianでPT3とChinachuを使つた録画サーバは一応できたことになる。