EpgrecUNAのインストール


セキュリティ関係の騒動があったので、更新するついでにまとめ直したメモ書き

16.04 とPT3で設定

PT3は、DKMSインストール設定済み

カードリーダは、古いバージョンで固定

 

2014/03/01 番組の自動更新(shepherd)について、追記

2014/08/17 14.04新規インストール、apacheのバージョンアップに伴う変更とかを追記

2016/01/07  epgrecUNAの最新版で変更されていた事項について追記

2016/05/08 php7について追記

LAMP環境、phpmyadmin環境のインストール

 

$ sudo apt-get install tasksel #LAMP環境を作るのに楽なので利用する

 

$ sudo tasksel   #LAMP serverにスペースキーでチェックを入れる

 

「LAMP server」のインストールの途中でMySQLを管理する”root”パスワードを聞かれるので、新規に設定

 

$ sudo apt-get install php5  #これは手動で入れる必要がある

php7でやる場合は、不要

 

動作確認

 

Apache

 

Apache (httpd) は Firefox を立ち上げて、http://localhost/ にすると 「It works!」と表示されればOK

 

PHP

 

インストール直後は、まだ apache が PHP を認識していないので、再起動させる。

 

$ sudo /etc/init.d/apache2 restart

 

$ sudo su

 

# chown -R ユーザーネーム:ユーザーネーム /var/www/    #所有者をrootから自分に変更

 

# exit  #rootから抜けた

 

$ cd /var/www/html/  #14.04のapacheから、仕様が変更になっているようだ。

 

$ gedit phpinfo.php   #下記の1行を記述したファイルを作成

 

<?php phpinfo(); ?>

 

/var/www/htmlがデフォルトになっているので、注意

Firefoxに http://localhost/phpinfo.php と入力し、phpの詳細画面が出てくればOK

 

確認したら、phpinfo.phpファイルは削除しておく

 

 

phpMyAdmin

 

$ sudo apt-get install phpmyadmin php-mbstring php-gettext

 

 

しばらくすると設定をきかれるので、

自動再設定をする web サーバでスペースキーで [apache2] を選択。

phpmyadmin のデータベースを dbconfig-common で設定しますか? <はい>を選択

データベースの管理権限を持つユーザのパスワード:MYSQLのrootのパスワード

phpmyadmin用のmysqlアプリケーション設定のパスワードを聞かれるので、新規に設定

 

念のためapache2の再起動

$ sudo /etc/init.d/apache2 restart

 

設定

アプリケーション → プログラミング → phpmyadmin

mysql のroot でログインする。

特権タブから 新しいユーザを追加する

ログイン情報
ユーザー名:任意
ホスト: ローカルを選択
パスワード:任意
ユーザ専用データベース
同名のデータベースを作成してすべての特権を与える を選択
グローバル特権
すべてのチェックを外す

 データベースタブを見て、ユーザ名のデータベースが出来ていればOK

mysqlの起動(たぶん起動しているので、再起動)

$ sudo service mysql restart

at設定(14.04では、インストールしないと駄目みたい)

$ sudo apt-get install at

Apacheユーザの「www-data」を使用禁止リストから削除します。 これをやらないと、録画できないです。

$ sudo cp -ip /etc/at.deny /etc/at.deny.org

$ sudo gedit /etc/at.deny

最終行に www-data  があるので-削除

webからMplayerの実行を許可する

www-dataユーザーからMplayerコマンドを実行できるようにvideoグループに追加する

$ sudo gpasswd -a www-data video

$ cat /etc/group #videoに追加されていることを確認

再起動

 

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版のパッチを当てる。

パッチは「適当な何かの別館」さんで作成したものを今回は使用

recpt1 httpサーバ機能追加パッチ 新本家[c8688d7d6382]以降対応版をダウンロードして、recpt1フォルダに解凍

$ 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

 *recpt1-bug.diff は、本家で取り込み済みだと言うことなので当てる必要は無い

$ patch -p2 < ../recpt1-http-rev3/recpt1-http.diff

patching file configure.ac
patching file recpt1.c
patching file recpt1core.c
patching file recpt1ctl.c
patching file tssplitter_lite.c

$ patch -p2 < ../recpt1-http-rev3/tssplitter-apnd.diff

patching file tssplitter_lite.c

$ 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

pt1_dev.hの書き換え

Pt3用に書き換える必要がある(下記のようにsedで書き換えてしまうか、必要分書き換える)PT3を使っていない場合は必要ない

$ sed -i ‘s/pt1video/pt3video/g’ pt1_dev.h

作成とインストール

$ ./autogen.sh

$ ./configure –prefix=/usr/local/ –enable-b25 #prefixとenableの前はハイフン2つ

$ make

$ sudo make install

コマンド確認

$ recpt1 –help #ハイフン2つ

Usage:
recpt1 [–b25 [–round N] [–strip] [–EMM]] [–udp [–addr hostname –port portnumber]] [–http portnumber] [–device devicefile] [–lnb voltage] [–sid SID1,SID2] channel rectime destfile

Remarks:
if rectime  is ‘-‘, records indefinitely.
if destfile is ‘-‘, stdout is used for output.
(長いので、以下省略)

 単体テスト 動くかどうかを確認しておく

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(出来てなければ、正常にインストールが出来ていないので、最初から確認)

 

epgrec UNA用epgdumpのインストール

$ cd epgdump

$ make

$ sudo make install

 

epgrec UNAのインストール

config.phpは、変更されているので、要確認(下記の情報は、古いままです。)

$ cd epgrec

$ sudo gedit config.php

 チャンネルマップの変更(行数を変えないように上書きしておく)チャンネルは、自分のメモ書き

“GR27” => “19”,        // 東北放送
“GR26” => “13”,        // NHKEテレ
“GR25” => “17”,        // NHK総合
“GR22” => “24”,        // ミヤギテレビ
“GR21” => “28”,        // 東日本放送
“GR24” => “21”,        // 仙台放送
“GR23” => “22”,        // JCOMHD
“GR20” => “15”,        // JCOM

チューナーの数

define( “TUNER_UNIT1”, 2 );                            // 第一チューナーの各放送波の論理チューナ数(地上波・衛星波で共用 ex.PT1が1枚なら2)

// PT1キャラデバ版ドライバー使用時に変更すること

define( “USE_RECPT1”, TRUE );                        // recpt1使用時はTRUEにすること
define( “RECPT1_EPG_PATCH”, TRUE );                // recpt1 EPG単独出力パッチ使用時はTRUE

// リアルタイム視聴

define( “REALVIEW_HTTP”, TRUE );                    // リアルタイム視聴を有効にするときはtrueに

// PT1_REBOOTをTRUEにする場合は、root権限で visudoコマンドを実行して
// www-data ALL = (ALL) NOPASSWD: /sbin/shutdown
// の一行を追加してください。詳しくは visudoを調べてください。 # sudo visudo で、%admin ALL=(ALL) ALLの下に書けばOK

define( “PT1_REBOOT”, TRUE );                            // PT1が不安定なときにリブートするかどうか

事前の設定箇所は、とりあえずこんな感じ

インストール先は、階層を深くした方が良いと言うことなので階層を深くする

あわせて、indexhtmlを置いて置くことを忘れないように

※do-record.sh初買わないで良くなったようなので、下記3行は必要なし

$ sudo chmod 755 do-record.sh

$ cd ..

$ sudo cp -a ./epgrec /var/www/html/○○○/epgrec #○○○は、自分で好きなだけ階層を深くする

 

以下は、初回起動時の設定

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

 

自動更新の設定 3/1 修正

このままだと、自動更新がうまくいかない。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

リアルタイム視聴は、始まるまで数秒かかるので、待つこと

 

config.xmlの移動

2013/12/29版から ./settings/config.xmlを/etc/epgrecUNA/config.xmlに移動させる事が出来るそうです

外部から config.xmlを見られなくなり MySQLのパスワードを盗まれるのを防げるということで、

初回起動後に、移動させておく。

 

最後に保存場所の変更

ebgrecのデフォルト表示は、「/video」 となっているが、録画保存ディレクトリは、「~/epgrec/video」

SSDで容量がないので、保存先を、別HDDにする。

$ ln -s /media/sdc1/share/video /var/www/html/○○○/epgrec/video  #自分の階層に合わせる

 

最後に apacheでBasic認証 Ubuntu14.04版 を参照して、認証を設定しておく

ダイジェスト認証 でも良いけど、こちらもapacheのバージョンアップで少し設定を変えないと使えないみたいですね

設定すると、サムネイルから視聴の際にパスワードを求められるが、安全のためには、しょうがないね

 

視聴用のMplayerは、 Mplayer(vaapi対応)の導入  を参照なんだけど、エラー出て導入出来ませんね

とりあえず、VLCを入れると、録画のサムネイルからは、視聴出来たが、リアルタイムは出来ないね。

Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA


 

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)