SAMPLE GALLERY

このサイトのコピーです。自分用に使いやすくしただけです。使用しているのはPT2なのですが無事動きました。まだ自動録画キーワード登録管理ができていませんが・・・有難うございます

大体の手順
epgrec を使用するために nginx(エンジンエックス)、mysql、php をインストールする
epgdump は epgrec が録画データから番組表を取り出すために必要になる 次のようにして epgdump をインストールする
epgrec を使うにはユーザ www-data が at コマンドを利用できなくてはならない。 /etc/at.deny に www-data が記入されていれば、それを削除する
だが、atコマンドではうまく番組表が取得できないのでcronを使いました
cronコマンドは繰り返し実行予約ができるが、atコマンドは一度きりの実行という違いがある

mysql のデータベースを作成する。このとき、データベースにアクセスするユーザとパスワードを設定する
mysql -u root -p
で mysql に mysql のユーザ root でログイン (Ubuntu のユーザ root ではない。パスワードは mysql を apt でインストールしたときに設定している)して epgrec というデータベースと mysql のユーザ epgrec のパスワードを指定する。 以下ではパスワードは PASS となっている
mysql のデータベース作成例では
「MySQL接続ユーザー名」は「test」
「MySQL接続パスワード」は「test」
「使用データベース名」は「test」
epgrec の php を nginx が使う標準的なディレクトリ /var/www 以下に設定する
ブラウザから epgrec の設定
epgrec を設置した Ubuntu の IP アドレスを調べ、 http://LOCAL_IP_ADDRESS/epgrec にブラウザでアクセスして epgrec の設定する

パッケージのインストール

nginx、at、MySQL、php-fpm等、必要なパッケージをインストールします
MySQLのインストールのときにルートのパスワードを入力する。メモること
尚、これだけだと予約ボタンが動かないので追加で「php-mbstring」 sudo apt-get -y install at nginx php7.0-fpm php7.0-cli mysql-server php7.0-mysql php7.0-xml php-mbstring

at

epgrec UNAを実行するユーザーとして”www-data”を使用しますが、デフォルト設定でatコマンドを実行できなくなっているため、その設定を解除します
sudo sed -i".org" 's/www-data//g' /etc/at.deny

MySQLの設定

MySQLの文字コード設定を変更
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf

[mysqld]
character-set-server = utf8 ← この行追加
MySQLの再起動
sudo service mysql restart

epgrec用のデータベースを作成。SQL用のルートパスワードを入力
mysql -u root -p
Enter password:

mysql>
show databases;
DBが作成されていることを確認
MySQL接続ユーザーとMySQL接続パスワードを設定する
MySQL接続ユーザーと接続パスワードを設定するためのコマンドは
grant all privileges on *.* to [MySQL接続ユーザー名]@localhost identified by '[MySQL接続パスワード]';

なので、例えばの設定
grant all privileges on *.* to test@localhost identified by 'test';
ALTER USER test@localhost identified by 'test';

ホスト名:localhost
MySQL接続ユーザー名: test
MySQL接続パスワード: test
データベース名:test

q,quit,exitでMySqlを抜ける

php-fpmのインストール

sudo sed -i".org" 's/^disable_functions/;disable_functions/g' /etc/php/7.0/fpm/php.ini find /etc/php/7.0/ -name "php.ini" | xargs sudo sed -i".org" 's/^;date.timezone =/date.timezone = "Asia\/Tokyo"/g'

nginxの確認

nginxを起動し、nginx上でPHPが動作することを確認します
sudo nano /etc/nginx/sites-available/default
下記を追加「server {」内に

location ~ [^/]\.php {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
  fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}

サービスを再起動します
sudo service nginx restart
表示テストをします
sudo vi /var/www/html/phpinfo.php

phpinfo();
?>

ブラウザでアクセスをしてみる
http://192.168.11.2/phpinfo.php
インフォメーションが表示できれば成功

epgrecdumpのインストール

適当な何かの別館からepgdumpのソースコードをダウンロードします。日付(2014-14-10-13)などで識別しているのでバージョンを間違えないようにします
cd ~/src
tar xvzf epgdumpUNA141013.tar.gz
cd epgdump
make
sudo make install

epgrecUNAのインストール

適当な何かの別館からepgrec UNAをダウンロードします
人柱版 (2015/11/14)を使います
”epgrecUNA 151114版用 fix1”と”epgrecUNA 151114版用 fix2”の2つのパッチを当てる必要があります(パッチはepgrecディレクトリに上書き解凍すればOKです)

cd ~/src
tar xvzf epgrecUNA_151114.tar.gz
sudo mkdir -p /var/www/
sudo mv epgrec/ /var/www/
cd /var/www/epgrec/
sudo chown -R www-data:www-data ../
sudo chmod 777 templates_c video thumbs settings cache
sudo nano config.php

変更前) 75行目
define( 'TUNER_UNIT1', 0 );

変更後)
define( 'TUNER_UNIT1', 2 );

19行目の地上波デジタルチャンネルでMXTVのコメントを外す
'GR20' => '20', // MX TV(東京タワー)

nginxの設定を変更し、nginxを再起動します
cd /etc/nginx/
sudo rm sites-enabled/default
下記の内容をコピペして保存します
sudo nano sites-available/epgrec

server {
listen 80 default_server;
server_name localhost;

root /var/www/epgrec;

charset utf-8;
index index.php index.html;

location ~ [^/]\.php {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $request_filename;
fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
}

再起動
sudo service nginx restart

ブラウザから点検訂正をしていきます
http://192.168.11.2
http://192.168.11.2/install/step1.hph

1ページ目には各項目のチェックリストが表示されOKなら最下段のボタンをクリックして次に移動します
2ページ目にはMySQLの設定ページになります。ここが一番大事でここで失敗するとやり直しになります
MySQLホスト名:localhost
MySQL接続ユーザー名:test
MySQL接続パスワード:test
MySQL使用データベース名:test
MySQLテーブル接頭辞:Recorder_
その他は変更なしで進めます。最後に保存をクリックして次に移ります
デジタルチューナー設定では各項目2台です
残りのページは読めばわかりますし運営しながら訂正をすれば良いでしょ

もしepgrec UNAの設定を最初からやり直したい場合、settings/config.xmlファイルを削除する

初期設定が完了すると最後に「このリンクをクリックするとEPGの初回受信を開始します。」と言うリンクが表示されます。クリックするとリンクの内容通りEPG更新が始まるので、9分待ってから録画サーバのIPアドレスに再アクセスして下さい。番組表が表示されれば基本設定は完了です

EPG更新するようにcronの設定を行います。初期設定の最後にファイルをコピーすれば簡単に設定できるように書かれていますが、現状うまく動作しないので下記の手順で設定します

2時間毎の29分にEPG更新です
sudo nano /etc/crontab
29 */2 * * * www-data /var/www/epgrec/shepherd.php

recpt1のプロセスが表示されれば成功
ps ax | grep recpt

録画用ディレクトリの変更

録画用ディレクトリは”/var/www/epgrec/video”になっています
ホームの中にTVディレクトリを作りそこに移動させます
シンボリックリンクを作成します
cd /var/www/epgrec
sudo mv video _video
sudo ln -s /home/share video

/home/kazu/TV/ディレクトリがフルアクセス777にします
chmod 777 /home/kazu/TV

エラーなどイロイロありました

番組検索ができない。ネットで調べたらPHPが16進数を読めないことが原因みたいなので
下記のファイルの'0x??'の部分を検索(ctrl+W)して10進数に書き直す
ctrl+W->'0x3f'で検索して'63'と書き直す
ctrl+W->'0xf7'で検索して'127'と書き直す
sudo nano /var/www/epgrec/templates/programTable.html

自動録画キーワード登録できないのでphpファイルの「0x」を検索してみた
sudo find /var/www/epgrec/ -name "*.php" | xargs grep '0x' > php_list.txt
検索結果は30以上になったが暇がでたら勇気を持って直すかな

リアルタイム視聴ができなかったので設定ファイルを変更
sudo nano /var/www/epgrec/config.php
169行目、170行目のFALSE->TRUEに変更
sudo systemctl restart nginx

せっかくサーバを立ち上げたのだから備忘録用にホームページでも開いてみようかと
'userDir'を設定したがうまく表示されず、ステータスは202
ログを見ると'/var/www/epgrec/~kazu/index.html'になっている
シンボリックリンクを貼らないとダメなのかな
ls -l /var/www/epgrec ~kazu
なんと、リンクが貼られている
という事はホームに直接index.htnlファイルを置くのか

test


今回はここまで。下記は以前の設定手順です

recpt1録画プログラム

このサイトよりダウンロードする
(pt1-c8688d7d6382/
cd ~/pt1-c8688d7d6382/patch
ディレクトリを作成しバッチファイルをダウンロード
こちらのページよりDL
tar zxvf recpt1-http-rev3.tar.gz
cd ~/pt1-c8688d7d6382/recpt1
patch < ../patch/recpt1-http-rev4/recpt1-http.diff
sudo apt install autoconf automake
./autogen.sh
./configure --enable-b25
make && sudo make install

録画テスト

録画ファイルを保存したいディレクトリに移動し、端末から
受信信号を調べてみます
地デジnhk総合
受信信号を調べてみます(C/Ngood=30-33dB)
checksignal 27
NHK総合を10秒録画する
recpt1 --b25 --strip 27 10 test.ts
オプション詳細については"recpt1 --help"を参照のこと
recpt1 --b25 --strip ・・・ b25の暗号解除を有効にして
27 チャンネル番号
10 秒数
カレントディレクトリに「test.ts」ファイルが生成される

下記のエラーが出た場合mod probeで解決する
*****Cannot tune to the specified channel*****
sudo modprobe -r pt1_drv && sudo modprobe pt1_drv
アースソフト PT2ボードのコネクター名称
/dev/pt1video0 BS/CS S1
/dev/pt1video1 BS/CS S2
/dev/pt1video2 地上波 T1
/dev/pt1video3 地上波 T2

総合 1
27
---
2
Eテレ3
26
日本 4
25
朝日 5
24
TBS 6
22
東京 7
23
フジ 8
21
MX 9
16
10
---
11
---
放送 12
28
東京スカイツリー送信
27, 26, 25, 24, 22, 23, 21, 16
東京タワー送信
28
::::::BSデジタル::::::
-------------------------------
BSch101
NHK BS1
BSch102
NHK BS2
BSch103
NHK BSプレミアム
BSch141
BS日テレ
BSch151
BS朝日
BSch161
BS日テレ
BSch171
BSジャパン
BSch181
BSフジ
BSch211
BS11デジタル
BSch222
TwellV(トゥエルビ)
BSch231
放送大学テレビ
BSch232
放送大学テレビ2 WIDE
BSch233
放送大学テレビ3 WIDE
BSch258
Dlife
*****************************************
epgdump
録画したファイルからEPG情報が正しく取り出すことができるか確認
新旧の種類のどちらか
epgrec UNA用epgdump 141013版のDL
tar zxvf epgdumpUNA141013.tar.gz

epgrec UNA用epgdump 160127版のDL
tar zxvf epgdumpUNA160127.tar.gz

cd epgdump
make
sudo make install

epgrec UNA用epgdumpインストール
録画したファイルからEPG情報が正しく取り出すことができるか確認
ファイルの保存先に移動
cd ~/epgdump
make
sudo make install
作業ができるフォルダに移動して
cd job
NHK総合を10秒録画する
recpt1 --b25 --strip 27 10 test.ts
次に、録画ファイルtest.tsに対して、
epgdump 27 test.ts test.xml -xml
実行後、新たに作成されたtest.txmlをテキストエディター等で開き
テレビ番組情報が表示されることを確認する

LAMP環境

以下、サーバー環境のインストールはこのサイト1を参考にしています
以下、サーバー環境のインストールはこのサイト2を参考にしています
下準備
cd ~
sudo apt-get update
epgrec実行のために、atとcronが必要なるので、atとcronをインストールする
端末を利用する場合は、
sudo apt-get install at cron
Apache2のインストール
sudo apt-get -y install apache2
http://(サーバーのホスト名またはIPアドレス)/index.html・・・で、表示できればOK
PHP7.0のインストール
sudo apt-get -y install php php-cgi libapache2-mod-php php-common php-pear php-mbstring
sudo a2enconf php7.0-cgi
sudo nano /etc/php/7.0/apache2/php.ini
# 693行目:コメント解除
default_charset = "UTF-8"
# 924行目:コメント解除しタイムゾーン設定
date.timezone = "Asia/Tokyo"
sudo /etc/init.d/apache2 restart
MySQLのインストール
apt-get -y install mysql-server-5.7
途中でMySQLのrootアカウントのパスワードを聞かれる
pass=abcd
確認
サービスの稼働状況をチェック
sudo apt-get install sysv-rc-conf
リスト表示
sudo sysv-rc-conf -list
sudo sysv-rc-conf --list

netstat -l -t
apache2 -v
php -v
mysql --version
----------------------------
apacheの設定
www-data(apacheユーザー)がシェルを使えるようにする
sudo nano /etc/passwd
を実行する。www-dataがnologinとなっている場合
/bin/shに書き換える、例えば
www-data:x:33:33:www-data:/var/www:/usr/sbin/nologin

www-data:x:33:33:www-data:/var/www:/usr/sbin/bin/sh
www-data(apacheユーザー)がatを使えるようにする
端末から
sudo nano /etc/at.deny
を実行し
www-data
を削除し、保存する

MySQLの設定

MySQL5.7ではいろいろ問題があるのでDBを変えてみる手もある
mariaDBをインストールしてみる
Percona XTraDB 5.6 をインストールしてみる

MySQLデータベースのデフォルト文字コードをUTF-8に設定する
sudo nano /etc/mysql/my.cnf
ubuntu16.04LTS MySQL5.7からは

sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
上記を編集する
[mysqld]
skip-character-set-client-handshake
character-set-server=utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8

my.cnfを、以下のように変更する
[client]と[mysqld]と[mysqldump]に下記の設定を付け加える
[client]
default-character-set=utf8
[mysqld]
skip-character-set-client-handshake
character-set-server=utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
[mysqldump]
default-character-set = utf8
下記の項目がなければ新たに付け加える
[mysql]
default-character-set=utf8
保存する

MySqlを再起動する

端末から
sudo service mysql restart
を実行する
再起動後、MySqlが起動している事を確認する
端末から
ps aux | grep mysql
を実行する

epgrecで使用するDBを作成する

MySqlにログインする
sudo mysql -u root -p
sudo mysql --show-warnings -u root -p
pass=abcd
インストールした時に設定したパスワードを入力する

DB作成

mysql>
create database test;
実行後
mysql>
show databases;
DBが作成されていることを確認
MySQL接続ユーザーとMySQL接続パスワードを設定する
MySQL接続ユーザーと接続パスワードを設定するためのコマンドは
grant all privileges on *.* to [MySQL接続ユーザー名]@localhost identified by '[MySQL接続パスワード]';
なので
mysql>
5.7は下記を使う grant all privileges on *.* to test@localhost identified by 'test';
ALTER USER test@localhost identified by 'test';
例えばの設定なので
MySQL接続ユーザー名: test
MySQL接続パスワード: test
exitでMySqlを抜ける

アンインストール
$ sudo apt-get remove --purge php5-mysql mysql-server* mysql-common
未使用パッケージがあったので一応削除
$ sudo apt-get autoremove --purge
フォルダが残っているので削除
$ sudo rm -r /etc/mysql
$ sudo rm -r /var/lib/mysql

epgrec UNA (人柱版 2015/11/14)のインストール

アースソフト

プロフィールよりキーワードヒント:食べ合わせが悪い
epgrec実行のために、atとcronが必要になるのでインストール
sudo apt-get install at cron
epgrec UNA (人柱版 2015/11/14)のインストール
epgrecUNA_151114.tar.gzがダウンロードされます
epgrecUNA 151114版用パッチファイル fix1(http://www1.axfc.net/u/3578126)
epgrecUNA151114Fix1.tar.gzがダウンロードされます
epgrecUNA 151114版用パッチファイル fix2(http://www1.axfc.net/u/3650284 )
epgrecUNA151114Fix2.tar.gzがダウンロードされます
ダウンロード後、端末を開き、
cd ~/
に移動後、ダウンロードしたファイルを順番にtarコマンドで解凍上書きする
tar xvzf epgrecUNA_151114.tar.gz
tar -xvzf epgrecUNA151114Fix1.tar.gz
tar -xvzf epgrecUNA151114Fix2.tar.gz
パッチファイルが上書きされている事を確認する。されていない場合は、ファイルを上書きする
cd ~/epgrec

epgrecUNAをサイト用に加工( ~/epgrec -> /var/www/html)

コピー・移動する

epgrecUNAはここに解凍してある ~/epgrec

/var/www/html以下に、ディレクトリTV_epgrecを作成とコピー

sudo mkdir /var/www/html/TV_epgrec
sudo chmod 777 /var/www/html/TV_epgrec/
cp -a ~/epgrec /var/www/html/TV_epgrec/epgrec

chown -R ユーザID:グループID ディレクトリ 再帰に実行

sudo chown -R www-data:www-data /var/www/html/TV_epgrec/epgrec
cd /var/www/html/TV_epgrec/epgrec/

sudo chmod 777 /var/www/html/TV_epgrec/epgrec/cache /var/www/html/TV_epgrec/epgrec/templates_c /var/www/html/TV_epgrec/epgrec/video /var/www/html/TV_epgrec/epgrec/thumbs /var/www/html/TV_epgrec/epgrec/settings

sudo chmod 666 /var/www/html/TV_epgrec/epgrec/thumbs/index.html
sudo chmod 666 /var/www/html/TV_epgrec/epgrec/video/index.html
sudo cp -a /var/www/html/TV_epgrec/epgrec/do-record.sh.sample /var/www/html/TV_epgrec/epgrec/do-record.sh
sudo chmod 755 /var/www/html/TV_epgrec/epgrec/do-record.sh
sudo chown www-data:www-data /var/www/html/TV_epgrec/epgrec/do-record.sh

config.phpの設定を行う

sudo nano /var/www/html/TV_epgrec/epgrec/config.php
config.phpのUTF-8内容表示
config.phpのSHIFT-JIS内容表示

epgrec(UNA)の設定をブラウザから設定を行う

ブラウザを起動(番組表)

ここでの場合
http://192.168.11.13/TV_epgrec/epgrec
完成していれば下記が動作する
メニューより -> 環境設定 -> システム設定で表示される
setupファイルより
setup3.phpが表示されない場合は
settings/config.xmlが正常に作成されているか
ほとんどの場合はmysqlの設定が間違っている。ホスト名・接続ユーザー名・接続パスワード・使用データベース名を確認する

setupファイルの実行

MySQLホスト名 -> localhost
MySQL接続ユーザー名 -> test (設定したユーザー名を入力する)
MySQL接続パスワード -> test (設定したパスワードを入力する)
使用データベース名 -> test (作成したDB名を入力する)
使用するデータベース名を設定します。設定するデータベースは接続ユーザーがテーブルの作成等を行う権限を持っている必要があります
テーブル接頭辞 -> Recorder_(デフォルトのままで構いません)

使っているうちに番組表が歯抜けになる

定期的にEPG更新するようにcronの設定を行いました
初期設定の最後にファイルをコピーすれば簡単に設定できるように書かれていますが
うまく動作しなかったので下記の手順で設定しました
sudo nano /etc/crontab
下記を追記する
29 */6 * * * www-data /var/www/html/TV_epgrec/epgrec/shepherd.php
6時間おきの29分頃に下記を実行して動作確認します
ps ax | grep recpt
recpt1のプロセスが表示されれば成功
手動でEPGの受信を試みるのもひとつの方法です。コンソール上で

手動でEPGの受信を試みる
sudo /var/www/html/TV_epgrec/epgrec/shepherd.php
ctrl+Zでバックグランドで実行する

設定を直すには
http://192.168.11.13/TV_epgrec/epgrec/install/step1.php

録画保存ディレクトリの変更

録画保存ディレクトリという項目があるが、これは epgrec をインストールしたディレクトリ以下の場所しか指定できない
ということで、この項目の設定値は /video のままにしておき、シンボリックリンクを使う
保存先を /madia/data/video にする場合、まずこのディレクトリを作成しておく
パーミッションを777にしておかないと録画に失敗するので注意
次に、epgrec/video/ にあった録画済みのTSファイルをここに移動し、epgrec/video/ は削除
sudo ln -s /media/data/video /var/www/html/TV_epgrec/epgrec/video
sudo ln -s /home/kazu/Videos /var/www/html/TV_epgrec/epgrec/video
シンボリックリンクを設定する
/var/www/html/TV_epgrec/epgrec/video
ファイルを移動(~/Videos)
sudo cp /var/www/html/TV_epgrec/epgrec/video/* ~/Videos
/videoを削除する
sudo rm -d /var/www/html/TV_epgrec/epgrec/video
新たに保存先として使用したいディレクトリにシンボリックリンクを設定する
sudo ln -s ~/Videos /var/www/html/TV_epgrec/epgrec/video

test20

********************** -------------------------------------- ーーーーーーーーーーーーーーーーーーーー -------------------------------- FFmpegを使用したトランスコード機能の追加 http://www.jifu-labo.net/2015/09/ffmpeg_build/ **********************

inserted by FC2 system