epgrecUNAをUbuntu16.04にインストール
MATEをインストールしたので、再構築
php7.0になってはまった
2016/05/11 pcscdが起動時に動いてないので、cronで動くように追記
1 カードリーダーは、今までと変わらずでOK
再起動直後は、ランプが点灯していないが、録画は出来たので、大丈夫のようです。 再起動したら、やっぱり録画できてなかった
$ sudo apt-get install pcscd libpcsclite1 libpcsclite-dev libccid pcsc-tools git build-essential autoconf unzip pkg-config
$ pcsc_scan | grep B-CAS
Japanese Chijou Digital B-CAS Card (pay TV) #左のように表示されればOK
2 PT3のインストールは、PT3 DKMSインストール のとおりでOK
epgrecUNAのインストール
1 LAMPのインストール
$ sudo apt-get install tasksel #LAMP環境を作るのに楽なので利用する
$ sudo tasksel #LAMP serverにスペースキーでチェックを入れる
「LAMP server」のインストールの途中でMySQLを管理する”root”パスワードを聞かれるので、新規に設定
phpが7.0になったので、いろいろ入れないと駄目なようだ。
$ sudo apt-get install php7.0 php7.0-xml php7.0-mbstring libapache2-mod-php7.0 php-gettext
このとき、pcscdが動いてないと思って、ネットの情報を見て、そのままコピペして更に余計なものまで入れてしまった。
$ sudo apt-get 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
動作確認
Apache
Apache (httpd) は Firefox を立ち上げて、http://localhost/ にすると 「It works!」と表示されればOK
PHP
インストール直後は、まだ apache が PHP を認識していないので、再起動させる。
$ sudo /etc/init.d/apache2 restart
2 atのインストールとat.dnyの修正
$ sudo apt-get install at
$ sudo su –
# sed -i ‘s/www-data//g’ /etc/at.deny
# exit
3 www-dataユーザーをvideoグループに追加する
$ sudo gpasswd -a www-data video
$ cat /etc/group #videoに追加されていることを確認
再起動
3 recpt1のインストール
PT2用ドライバをインストールする手順を元に
$ sudo apt-get install autoconf automake mercurial
$ hg clone http://hg.honeyplanet.jp/pt1/ pt1_driver #本家から最新のソースを取得
$ hg clone http://hg.honeyplanet.jp/pt1.oyama/ pt1_driver_oyama #TS split内蔵版も取得 これいらない
取得後のフォルダ状況
$ ls pt1_driver* #確認
driver recpt1
ARIB25フォルダを復旧
$ cd pt1_driver
$ hg revert -r c44e16dbb0e2 –all #allの前は、ハイフンが2つです
$ ls #確認
arib25 b25_docs driver recpt1
$ hg revert -r tip –all #allの前は、ハイフンが2つです
$ ls #確認
arib25 b25_docs driver recpt1
ARIB25の作成とインストール
$ cd arib25/src
$ make
$ sudo make install
recpt1のインストール
recpt1は本家のほうにhttp版のパッチを当てる。
パッチは「適当な何かの別館」さんで作成したものを今回は使用
2016/05/10現在の最新版は、 recpt1 httpサーバ機能追加パッチ rev.4
パッチを先ほどの pt1_driverフォルダに解凍しておく
$ cd pt1_driver/recpt1
$ ls
COPYING checksignal.c decoder.h.orig recpt1.c.orig recpt1ctl.c
Makefile configure.ac mkpath.c recpt1.h tssplitter_lite.c
Makefile.in decoder.c mkpath.h recpt1.h.orig tssplitter_lite.h
autogen.sh decoder.c.orig pt1_dev.h recpt1core.c
channels decoder.h recpt1.c recpt1core.h #のような表示が出ていれば正しいフォルダ
$ patch -p2 < ../recpt1-http-rev4/recpt1-http.diff
patching file ~ のように表示が出る。 5個くらいパッチが当たってた
pt1_dev.hの書き換え
Pt3用に書き換える
$ sudo su –
# sed -i ‘s/pt1video/pt3video/g’ pt1_dev.h
# exit
作成とインストール
$ ./autogen.sh
$ ./configure –prefix=/usr/local/ –enable-b25 #prefixとenableの前はハイフン2つ
$ make
$ sudo make install
単体テスト 動くかどうかを確認しておく
$ recpt1 –b25 –strip 17 20 test.ts #17chを20秒録画という意味 どちらも、ハイフン2つ 存在するチャンネルを選択
using B25…
enable B25 strip
pid = 3763
C/N = 32.468626dB
Recording…
Recorded 21sec #のような表示が出ていれば、録画されている
test.tsが出来ていれば録画OK、VLCで視聴出来ればOK
4 epgrec UNA用epgdumpのインストール
「適当な何かの別館」 さんから、ダウンロードして解凍
$ cd epgdump
$ make
$ sudo make install
5 epgrec UNAのインストール
epgrec UNA本体とfixをダウンロード
fixは上書きするだけでOK
/var/www/html/○○○/epgrec と言う風に好きな階層にコピーする
○○○のフォルダに index.htmlを忘れずにコピーしておくこと
config.phpの中身を見ながら設定する
$ cd epgrec
$ sudo gedit config.php
チャンネルマップの変更、チューナの数、リアルタイム視聴くらいかな
チャンネルは、自分のメモ書き(行数を変えないように上書きしておく)
‘GR27′ => ’27’, // NHK総合
‘GR26′ => ’26’, // NHKEテレ
‘GR15′ => ’15’, // テレ玉
‘GR18′ => ’18’, // tvk
‘GR24′ => ’24’, // テレビ朝日
‘GR25′ => ’25’, // 日テレ
‘GR22′ => ’22’, // TBS
‘GR23′ => ’23’, // テレビ東京
‘GR21′ => ’21’, // フジテレビ
‘GR20′ => ’20’, // TOUKYO MX
‘GR13′ => ’13’, // J COMテレビ
‘GR19′ => ’19’, // J COMチャンネル
‘GR14′ => ’14’, // 大学
以下は、初回起動時の設定
http://IPアドレス/○○○/epgrec/ と、ブラウザ上から開く
1ページ目
パーミッションのチェック 必要な箇所は修正する
2ページ目
MySQL接続ユーザー名、MySQL接続パスワード、使用データベース名は、それぞれ設定したものに変更
インストールURLは、階層を修正、localhostはIPアドレスにしておく
サムネールの使用は、使用する ffmpegをインストールすること
3ページ目
地デジチューナーの数、 BSチューナの数は、それぞれ2 CSを録画する場合は、行うに
録画開始の余裕時間は、10秒 録画ファイルの形式名は、%TITLE%に
4ページ目
初回EPG受信をgetepg.phpとshepherd.phpのどちらで行うか選択できるので、shepherd.phpを選択
5ページ目
EPGの初回受信を行います。9分程度後にepgrecのトップページを開いてください。と出るので、待つ
当たり前だけど、放送時間中じゃないと受信は出来ない
epgrecのトップページに戻ったら、無事に番組表が表示されればOK
自動更新の設定
このままだと、自動更新がうまくいかない。shephedは、通常の階層構成になっているので、修正が必要
$ sudo gedit /var/www/html/○○○/epgrec/cron.d/shepherd
29 */2 * * * www-data /var/www/html/○○○/epgrec/shepherd.php #というように、最後の行の階層を直しておかないと駄目
$ sudo cp /var/www/○○○/epgrec/cron.d/shepherd /etc/cron.d/ #4ページ目の時に自分の更新方法が表示されているので、コピーしておくと楽
録画テスト
地上波×2 BS×1 CS×1 の同時録画を予約設定する
録画後にサムネイルが無事に出来れば、OK
視聴テスト
録画した番組の視聴と、番組表からのリアルタイム視聴に異常が無ければ、OK
リアルタイム視聴は、始まるまで数秒かかるので、待つこと
最後に保存場所の変更
ebgrecのデフォルト表示は、「/video」 となっているが、録画保存ディレクトリは、「~/epgrec/video」
SSDで容量がないので、保存先を、別HDDにする
$ ln -s /mnt/○○○/share/video /var/www/html/○○○/epgrec/video #自分の階層に合わせる
この際、別HDDは、mnt下から、 777のパーミッションじゃないと、録画先として登録できないようです
録画先のHDDを交換した際は、予約を全部更新しないと、取れないので、見かけ上予約できていても
全部更新した方が良い。
キーワード録画なら、メニューから自動録画キーワード編集画面までいき、変更の必要ながはないが、
キーワードを再検索してから、「この設定で登録キーワードを更新」 で再登録しておいた方が良い
pcscdの起動時のrestart設定
$ sudo su –
# crontab -l #rootのcron設定を確認
# EDITOR=gedit #エディターの変更
# export EDITOR
# crontab -e #geditでcron編集
@reboot sleep 2 && /etc/init.d/pcscd restart #最終行に追記 再起動したら2分待って、リスタート
予約録画を設定して、再起動すると、録画できたので、これで様子見