Ubuntu16.04 recpt1/recdvb + Mirakurun + Chinachu Gamma のインストール

・必要パッケージのインストール

# apt install autoconf build-essential curl git-core libccid libpcsc-perl libpcsclite-dev libpcsclite1 libssl-dev libtool linux-headers-`uname -r` mercurial pcsc-tools pcscd pkg-config yasm

・カードリーダの動作確認

# pcsc_scan

・arib25(放送波のデコード)のインストール

# cd /usr/local/src/
# wget http://hg.honeyplanet.jp/pt1/archive/c44e16dbb0e2.zip
# unzip c44e16dbb0e2.zip
# cd pt1-c44e16dbb0e2/arib25
# make
# make install

・ドライバと録画プログラムのインストール

PT3 を使う場合
1. PT3専用ドライバ、recpt1
2. DVBドライバ(Linux標準ドライバ)、recdvb をインストールする

PX-S1UD を使う場合
3. PX-S1UDファームウェア、recdvb をインストールする

PT3専用ドライバのインストール

# cd /usr/local/src/
# git clone https://github.com/m-tsudo/pt3.git
# cd pt3/
# make
# make install

# echo "blacklist earth-pt3" >> /etc/modprobe.d/blacklist.conf
# modprobe pt3_drv
# reboot

# ls /dev/ | grep pt3
※デバイスが存在することを確認

PX-S1UDファームウェアのインストール

# cd /usr/local/src/
# wget http://plex-net.co.jp/plex/px-s1ud/PX-S1UD_driver_Ver.1.0.1.zip
# unzip PX-S1UD_driver_Ver.1.0.1.zip
# cp PX-S1UD_driver_Ver.1.0.1/x64/amd64/isdbt_rio.inp /lib/firmware/

recpt1 のインストール

# cd /usr/local/src/
# git clone https://github.com/stz2012/recpt1.git
# cd recpt1/recpt1
# ./autogen.sh
# ./configure --enable-b25
# make
# make install

# adduser  video
※videoグループに追加しておかないとPT3を使用できない

# recpt1 --b25 --strip 22 10 test.ts --device /dev/pt3video2
※録画できることを確認
 デバイス:video0/1:衛星放送
      video2/3:地上デジタル
 チャネル:22ch
 録画時間:10秒

recdvb のインストール

# cd /usr/local/src/
# wget http://www13.plala.or.jp/sat/recdvb/recdvb-1.3.1.tgz
# tar xvzf recdvb-1.3.1.tgz
# cd recdvb-1.3.1
# ./autogen.sh
# ./configure --enable-b25
# make
# make install

# adduser <recdvbコマンドを使いたいユーザ> video
※videoグループに追加しておかないとPX-S1UDを使用できない

# recdvb --b25 --strip 22 10 test.ts
※録画できることを確認

・Mirakurun のインストール
事前準備として node.js、npm をインストールする
https://github.com/Chinachu/Chinachu/wiki/Gamma-Installation-V2

公式ドキュメントに従い Mirakurun をインストールする
https://github.com/Chinachu/Mirakurun/blob/master/README.md

Mirakurunでスクランブル解除する場合は arib-b25-stream-test をインストール
※録画コマンドで --b25 オプションを使う場合は不要

# npm install arib-b25-stream-test -g --unsafe

PT3 で recpt1 を使う場合には下記を変更

# mirakurun config tuners
- name: PT3-S1
  recpt1 --b25 --device /dev/pt3video0 <channel> - -
  isDisabled: false

※BS/CSアンテナへの給電が不要であれば、recpt1コマンドの --lnb 15 オプションは削除する
※recpt1コマンドでスクランブル解除する場合は --b25 オプションを追加、decoder行を削除
※isDisabled を false に変更
※PT3-S2、PT3-T1、PT3-T2 についても同様に変更

PX-S1UD を使う場合には下記を追記

# mirakurun config tuners
- name: PX-S1UD-1
  types:
  - GR
  command: recdvb --b25 --strip <channel> - -
  isDisabled: false

・チャンネル設定

# mirakurun config channels
※受信地域に合わせてチャンネル設定を修正する
http://www.maspro.co.jp/contact/bro/bro_ch.html

# mirakurun restart
※EPG受信するので、10分ほど待つ

# rivarun --list | sed 's/},/},\n/g'
※チャンネル情報が表示されることを確認
※要Rivarun

・Rivarun のインストール(任意)
公式ドキュメント:https://github.com/Chinachu/Rivarun

・動作確認
# rivarun --ch GR/27 10 test.m2ts

・Chinachu のインストール
公式ドキュメントに従いインストールする
https://github.com/Chinachu/Chinachu/wiki

・ログローテート設定(任意だが、そのままだとログが肥大化するので実施推奨)

# pm2 install pm2-logrotate
※PM2のログローテート

# vi /etc/logrotate.d/mirakurun
/usr/local/var/log/mirakurun.stdout.log
/usr/local/var/log/mirakurun.stderr.log
{
  daily
  compress
  rotate 7
  missingok
  notifempty
}

# vi /etc/logrotate.d/chinachu
/usr/local/var/log/chinachu-operator.stderr.log
/usr/local/var/log/chinachu-operator.stdout.log
/usr/local/var/log/chinachu-wui.stderr.log
/usr/local/var/log/chinachu-wui.stdout.log
{
  weekly
  compress
  rotate 4
  missingok
  notifempty
}

・録画ファイルの2バイト記号の削除(任意)
ファイル名に2バイト記号が含まれているとOSがファイル名を正しく取得できない場合があるため、「_」に置換するようにする。

# vi chinachu/common/lib/chinachu-common.js
※220行目あたり
         a = a.replace(/\//g, '/').replace(/\\/g, '\').replace(/:/g, ':').replace(/\*/g, '*').replace(/\?/g, '?');
         a = a.replace(/"/g, '”').replace(/</g, '<').replace(/>/g, '>').replace(/\|/g, '|').replace(/≫/g, '>>');
         a = a.replace(/\r\n/g, ' ').replace(/\n/g, ' ').replace(/\r/g, ' ');
この行を追加 → a = a.replace(/〜/g, '_').replace(/−/g, '_').replace(/×/g, '_');