EpgrecUNA を使ってみる
RaspberryPi 3B の microSD が壊れました。
2016 年にセットアップしてずっと電源を入れたままにしていたサーバの micsoSD が死にました。地デジの録画に使っていたサーバでした。
新しい microSD に Bullseye のイメージを書き込んで起動させたら、本体は何も問題なさそうでした。そこで環境を整えていったら、録画システムの Epgrec が動きませんでした。Epgrec は PHP5 でなければ動かないようです。いろいろ探したら、EpgrecUNA というものがありました。ダウンロードの際にキーワードを入れるのですが、何を入れるのかわからなかったので調べたところ、サイトのプロフィールにヒントがあるということでした。なんとかプロフィールから推測してダウンロードできました。わかってしまえば簡単でしたが、ちょっと苦労しました。こちらが動きそうだったのですが、動かそうとパッケージを入れていたら、起動しなくなってしまいました。
そこで、今度は Buster を書き込んで設定していきました。一見動いたように見えましたが、一部でエラーが出て修正が必要でした。
作業内容
必要なパッケージのインストール
libusb-dev libudev-dev libssl-dev libpcsclite-dev samba apache2 php at mariadb-client mariadb-server php-mysql php-xml php-fpm php-mbstring をインストールしました。
/etc/at.deny から www-data の行を削除
録画予約の際に www-data が at を使います。
epg 取得のために、recfsusb2i を修正
recfsusb2i が –sid オプションをエラーにせず無視するように修正しました。
www-data を video グループに追加(/etc/group)
video グループに属していないと recfsusb2i が実行できません。
config.php を修正
放送局のチャンネルを自分の地域に合わせて定義します。また、使うのは、FSUSB2/V3 1 台なので、TUNER_UNIT1 は 1 を設定し、PT1_CMD_NUM を 2 に設定します。
rec_cmds の recfsusb2n の項目の cmd を recfsusb2i に、b25 は空に、epgTs を TRUE に変更します。
録画後に色々やるので、USE_DORECORD を TRUE に設定して、do-record.sh を epgrec のディレクトリに作成
EpgrecUNA を修正
そのままでは EpgrecUNA が動きませんでした。
まず、templates/programTable.html 内の 16 進数表記 (0xXX) がエラーになるので 10 進数表記に変更しました。
次に番組検索からのキーワード登録がうまく行かないので、DBRecord.class.php 内で空の値を設定する際、空の値を許容しないフィールドには’0′ を設定するように変更しました。また、epg 取得用のスクリプトがワーニングを出してしまうので、shepherd.php と storeProgram.inc.php も修正しました。
MariaDB でデータベースとユーザを作成
データベースとユーザを作成します。このあたりは、Epgrec と変わりません。
Web ページで設定
この辺も、Epgrec と同じです。
epg データ(番組表) の自動取得
/etc/cron.d に epgrec/cron.d/shepherd をコピーすれば OK です。
ffmpeg のコンパイル
字幕取り出し、ハードウェアエンコードができるように ffmpeg をコンパイルし、do-record.sh 内で、録画後に h264 で圧縮して字幕と一緒に mkv に変換するように修正しました。
以上でなんとかもとの環境と同じ様に録画出来ました。
ディスカッション
コメント一覧
まだ、コメントがありません