Ubuntu20.04にepgrecをインストールする


Ubuntu20.04にepgrecをインストール方法を書いておきます。Ubuntu20.04 Serverのインストールは「Ubuntu20.04 Serverのインストール」を参考にしてください。

epgrecを利用するうえで、Ubuntu20.04の大きな変更点は、phpが7.4になったことと、mysqlが8.0.19になったことによるDBサーバ側の挙動の変更点です。その他、epgrecに大きな影響のある変更点はありません。

実作業

sudo apt update ;sudo apt upgrade
 
sudo apt install apache2 php-fpm php-cli mysql-server mysql-client php-mysql mercurial php-xml php-mbstring libapache2-mod-php
sudo apt install pcscd libpcsclite1 libpcsclite-dev libccid pcsc-tools git build-essential autoconf unzip pkg-config samba
sudo apt install php7.4-mysql libmysqlclient-dev libmysqlclient21
sudo apt install wine ffmpeg ruby
 
sudo dpkg --add-architecture i386 
sudo apt update 
sudo apt install wine32
sudo timedatectl set-timezone Asia/Tokyo
 
sudo sed -i 's/www-data//g' /etc/at.deny
 
sudo cp /etc/php/7.4/fpm/php.ini /etc/php/7.4/fpm/php.ini.bak
sudo sed -i 's/^disable_functions/;disable_functions/g' /etc/php/7.4/fpm/php.ini
sudo sed -i 's/;date.timezone =/date.timezone = "Asia\/Tokyo"/g' /etc/php/7.4/fpm/php.ini

diff /etc/php/7.4/fpm/php.ini /etc/php/7.4/fpm/php.ini.bak

sudo cp /etc/php/7.4/cli/php.ini /etc/php/7.4/cli/php.ini.bak
sudo sed -i 's/^disable_functions/;disable_functions/g' /etc/php/7.4/cli/php.ini
sudo sed -i 's/;date.timezone =/date.timezone = "Asia\/Tokyo"/g' /etc/php/7.4/cli/php.ini

diff /etc/php/7.4/cli/php.ini /etc/php/7.4/cli/php.ini.bak

sudo cp /etc/php/7.4/apache2/php.ini /etc/php/7.4/apache2/php.ini.bak
sudo sed -i 's/^disable_functions/;disable_functions/g' /etc/php/7.4/apache2/php.ini
sudo sed -i 's/;date.timezone =/date.timezone = "Asia\/Tokyo"/g' /etc/php/7.4/apache2/php.ini

diff /etc/php/7.4/apache2/php.ini /etc/php/7.4/apache2/php.ini.bak

sudo su -
mkdir ~/pt3
cd ~/pt3

echo "blacklist earth_pt3" >> /etc/modprobe.d/blacklist.conf
git clone https://github.com/m-tsudo/pt3.git ./
make clean ;make; make install
reboot

MySQLのインストールと設定

MySQL8.xでは、以下の設定をしないとキーワード予約時にエラーが発生するので、設定後にmysq1を再起動させてください。

/etc/mysql/mysql.conf.d/mysqld.cnfの中の[mysqld]の下に下記の設定を付け加えます。

[mysqld]
sql-mode = ''
sudo service mysql restart

DBを作成します。ポイントは「with mysql_native_password」を指定することです。

mysql -uroot -p
create database epgrec;
CREATE USER 'epgrec'@'localhost' IDENTIFIED with mysql_native_password BY 'yourpassword';
GRANT ALL ON epgrec.* TO 'epgrec'@'localhost';
flush privileges;

recpt1の準備

以下、暗号解除

cd /tmp
wget http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2
tar -jxvf tip.tar.bz2
tar -zxvf recpt1-http-rev4.tar.gz
 
patch -p2 -d pt1-c8688d7d6382/recpt1/ recpt1-http-rev4/recpt1-http.diff
 
cd /tmp/pt1-c8688d7d6382/recpt1/
wget http://hg.honeyplanet.jp/pt1/archive/tip.tar.bz2
 
cd /tmp/pt1-c8688d7d6382/recpt1
 
# PT2/3混在環境の場合にはpt1_dev.hの/dev/pt1video**を
# 必要個数、pt3video**のようにPT3用に書き換えます。
# PT1/PT2のみの場合には、pt1_dev.hの書き換えの必要はありません。
 
# pt3のみの環境の場合には、sedで一括置換でOKです。
sed -i 's/pt1video/pt3video/g' pt1_dev.h
 
./autogen.sh
./configure --enable-b25; make ; sudo make install
recpt1 -version
 
# 下記のように出力されればOK。
 
# recpt1 1.2.0
# recorder command for PT1/2 digital tuner.
 
# 序に録画テストも行っておく
cd /tmp
recpt1 --b25 --strip 27 20 test.ts

UNA版の必要ソフトウェアのダウンロード

作者さんが公開してくださっているので、適当な何かの別館このページから次の3ファイルをダウンロードし、サーバの/tmpにコピー(Linuxホストからはscp、windowsからならwinscpを利用)して下さい。

ブラウザから設定を行う

http://ipアドレス/epgrec 

にアクセスして画面の指示通りに設定を進めてください。

設定画面は非常に解り易く作られているので、説明を見ながらでも十分に設定可能です。

usblinux_with_epgrec_UNA10

録画ファイル名の形式やその他の設定値について

私の場合は、『%YEAR%%MONTH%%DAY%_%HOUR%%MIN%_%TYPE%%CH%_%TITLE%』で運用してみます。

あと、ページに表示する番組表の長さは、24時間にしました。

usblinux_with_epgrec_UNA11

番組表更新のgetepgをcronに登録する

sudo cp /var/www/html/epgrec/cron.d/shepherd /etc/cron.d/
sudo vi /etc/cron.d/shepherd
 
# getepgの実行時間は適宜変更します。
# デフォルトだと、2時間おきに○時29分になったら番組表の更新処理がされるみたいです。
# 作者さんのデフォルトの指定がベストチョイスだったのでそのままにしました。
# あと、/var/www/htmlのところのパスは、epgrecインストール先のパスとあっていることを確認してください。
29 */2 * * *   www-data /var/www/epgrec/shepherd.php

最後に

上記手順のままだと録画失敗します。原因はarib25の導入が含まれていないためです。そちらは適宜対応してください。

タグ , . ブックマークする パーマリンク.

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください