ubuntu20.04 epgrecUNA
最近は、EPGStationが人気らしいですね。
epgrecUNAがダウンロードできなくなってましたが、
前回ダウンロードしたものがあるので、今回はepgrecUNAをインストール
作者さんが公開していないものを問い合わせされても、公開しません。
環境作成
$ sudo apt install tasksel
$ sudo tasksel #LAMPサーバインストール |
以前と違って、mysqlの設定画面は出てこない
mysqlとphpmyadminの設定は、Ubuntu20.04 mysqlとphpmyadmin を参照
MySQLの設定
mysql8.0では修正をしないとキーワード予約時にエラーを吐くので修正しておく
$ sudo pluma /etc/mysql/mysql.conf.d/mysqld.cnf |
[mysqld]の下に1行追記
[mysqld]
sql-mode = '' #シングルクォーテーション2個です |
カードリーダーの設定
$ 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 |
PT3の設定
PT3 DKMSインストール の設定で問題なくインストールが出来た
LAMPサーバの動作確認
Apache2の動作確認
Webブラウザーを立ち上げて、http://localhost に接続 「It works!」と表示されればOK
PHPの動作確認
$ sudo systemctl restart apache2 #認識させるためにapache2の再起動 |
$ sudo pluma /var/www/html/test.php |
<?php phpinfo(); ?> の1行を追記したファイルを作成 |
Webブラウザーを立ち上げて、http://localhost/test.php に接続 phpの表示が出ればOK
atのインストールとat.dnyの修正
$ sudo apt install at $ sudo su – # sed -i".org" 's/www-data//g' /etc/at.deny # exit |
ユーザwww-dataをグループvideoに追加
$ sudo gpasswd -a www-data video
$ cat /etc/group |grep video |
video:x:44:www-data #このように追加されていればOK |
recpt1のインストール準備
これで、recpt1がダウンロードできる
$ sudo apt install autoconf automake mercurial
$ hg clone http://hg.honeyplanet.jp/pt1/ pt1_driver #本家から最新版のダウンロード $ ls pt1_driver* #フォルダの確認 |
driver recpt1 |
ARIB25フォルダを復旧
$ cd pt1_driver $ hg revert -r c44e16dbb0e2 --all $ ls #フォルダの確認 |
arib25 b25_docs driver recpt1 |
$ cd arib25/src $ make $ sudo make install |
修正パッチの適用
適当な何かの別館さんから、recpt1 httpサーバ機能追加パッチ rev.4(recpt1用のパッチ)を使用する
$ patch -p2 -d pt1_driver/recpt1/ < recpt1-http-rev4/recpt1-http.diff |
patching file Makefile.in patching file configure.ac patching file pt1_dev.h patching file recpt1.c patching file recpt1.h patching file recpt1core.c patching file recpt1ctl.c patching file tsmain.c patching file tssplitter_lite.c |
pt1_dev.hがPT1用になっているので、PT3用に修正する
$ cd pt1_driver/recpt1/
$ sed -i ‘s/pt1video/pt3video/g’ pt1_dev.h #これで一括変換 |
recpt1のインストール
$ ./autogen.sh #recpt1のフォルダに入ったまま
$ ./configure --prefix=/usr/local/ --enable-b25
$ make
$ sudo make install
$ recpt1 -version #インストール作業の確認
|
recpt1 r147:17b4f7b5dccb (2018-05-28) recorder command for PT1/2 digital tuner. #こんな表示が出ればOK |
録画確認 例は、27chを10秒録画
$ recpt1 –b25 –strip 27 10 test.ts |
using B25… enable B25 strip pid = 20368 C/N = 32.686591dB Recording… Recorded 11sec #こんな感じで録画されればOK |
できあがったtest.tsを視聴して問題がなければOK
epgdumpのインストール
適当な何かの別館さんのepgrec UNA用epgdump 160127版 (最新版)をダウンロード
$ tar -zxvf epgdumpUNA160127.tar.gz
$ cd epgdump $ make $ sudo make install |
epgrecUNAのインストール
epgrec UNA本体とfixをダウンロード
epgrecUNAとepgdumpは対応するバージョンを合わせないと駄目らしいので注意
fixは上書きするだけでOK
/var/www/html/○○○/epgrec と言う感じで好きな階層にコピーした方がセキュリティ上良いらしい。
○○○のフォルダに index.htmlを忘れずにコピーしておくこと
config.phpの中身を見ながら設定する
$ cd epgrec
$ sudo pluma 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’, // TOKYO MX ‘GR13′ => ’13’, // J COM テレビ ‘GR19′ => ’19’, // J COM チャンネル |
php7.x以降利用時の修正
templates/programTable.htmlの該当文箇所を修正
16進数表記を10進数表記にしないと駄目らしい。
0x3f ⇨ 63 #666行目 0x7f ⇨ 127 #679行目 |
mysqlにepgrecUNAで使用するDBとユーザー名を登録
epgrecの設定
$ sudo apt install ffmpeg #サムネールの使用時に必要なので、あらかじめインストール |
http://ipアドレス/epgrec でアクセスして画面の指示通りに設定
以下の設定は、メモ書きなので、自分の状況に合わせてください。
1ページ目
パーミッションのチェック 必要な箇所は修正する |
2ページ目
MySQLホスト名はlocalhostでOK
MySQL接続ユーザー名、MySQL接続パスワード、使用データベース名は、それぞれ設定したものに変更 |
3ページ目
地デジチューナーの数、 BSチューナの数は、それぞれ2 CSを録画する場合は、行う 録画開始の余裕時間は、10秒 録画ファイルの形式名は、%TITLE%に |
4ページ目
初回EPG受信をgetepg.phpとshepherd.phpのどちらで行うか選択できるので、shepherd.phpを選択 |
5ページ目
EPGの初回受信を行います。9分程度後にepgrecのトップページを開いてください。と出るので、待つ |
当たり前だけど、放送時間中じゃないと受信は出来ない
epgrecのトップページに戻ったら、無事に番組表が表示されればOK
自動更新の設定
このままだと、自動更新がうまくいかない。shephedは、通常の階層構成になっているので、修正が必要
$ sudo pluma /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
リアルタイム視聴はVLCじゃないと駄目らしいので注意
視聴テスト
録画した番組の視聴に異常が無ければ、OK
保存先を、別HDDにする
$ ln -s /mnt/○○○/share/video /var/www/html/○○○/epgrec/video #自分の階層に合わせる |