2020 Dec. 26.
2020 Oct. 08.
2020 Oct. 04.
2020 Sep. 22.
2020 Mar. 08.
2019 Nov. 02.
2019 Oct. 22.
2019 Oct. 20.
2019 Oct. 17.
2018 Sep. 15.
2018 Sep. 09.
2018 Sep. 08.
2017 Feb. 05.
2016 Nov. 26.
pt2, recpt1をインストール
atをインストール
# apt install at
ユーザー設定等
- /etc/group に www-dataがなければ追加する
- /etc/at.deny から www-data を削除する
# sed -i 's/www-data//g' /etc/at.deny
- www-dataのログインシェルを(/usr/sbin/nologin から)/bin/bash にする
( /etc/passwd )
www-data:x:33:33:www-data:/var/www:/bin/bash
PHP設定
php.iniファイルの編集
Apacheで動くPHPの php.ini は /etc/phpDIR/apache2/php.ini にある。 コマンドラインで動くPHPの php.ini は /etc/phpDIR/cli/php.ini にある。 FastCGI版の PHPの php.ini は /etc/phpDIR/fpm/php.ini にある。
php.ini のパスを確認
- 次の1行の内容の/var/www/html/phpinfo.phpファイルを作成する
<?php phpinfo(); ?>
- http://EPGREC-SERVER/phpinfo.php でPHPの設定状況を表示し、php.iniのパスを確認する。
mysql設定
[mysqld] sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES ↓ [mysqld] sql_mode='' secure-file-priv = ""
# systemctl restart mysql.service
epgrecデータベース作成
$ mysql -p -u root
mysql> create database epgrec_una; mysql> CREATE USER 'epgrec_una'@'localhost' IDENTIFIED BY 'PASSWORD' ; mysql> GRANT ALL PRIVILEGES ON epgrec_una.* to 'epgrec_una'@'localhost'; 右は不要 -> mysql> grant file on *.* to epgrec_una@"%" IDENTIFIED BY 'パスワード'; mysql> flush privileges; mysql> quit
epgrec UNA用epgdump インストール
- ダウンロード
epgrec UNA用epgdump 160127版 Axfc UpLoader -3608680.gz-
- インストール
$ cd YOUR/DOWNLOAD/DIR $ tar zvxf epgdumpUNA160127.tar.gz $ cd epgdump $ make $ sudo make install
- 動作確認
recpt1から出力したTSファイルから番組表を取得
$ recpt1 --b25 --strip CHANNEL SECONDS FILE.ts $ epgdump CHANNEL FILE.ts FILE2.xml -xml
例
$ recpt1 --b25 --strip 16 100 16.ts $ epgdump 16 16.ts tv16.xml -xml # xmlファイルの作成を確認 $ cat tv16.xml
epgrec UNA インストール
( 適当な何かの別館 より)
ファイルダウンロード
- ダウンロードするのは次の4ファイル。
epgrecUNA 人柱版(2015/11/14)
epgrecUNA 151114版用 fix1
epgrecUNA 151114版用 fix2
地震テロップ対応ファイル
= ダウンロード時に必要なキーワードは4ファイルとも同じ
全角で○○○(天△△との食べxxxの「○○○」)
epgrecUNA 人柱版(2015/11/14)
http://d.hatena.ne.jp/katauna/touch/20151114/1447500516
から
https://www1.axfc.net/u/3566746
に遷移し、キーワード ○○○ として
3566746.gz(epgrecUNA_151114.tar.gz)
をダウンロードする
epgrecUNA 151114版用 fix1
http://d.hatena.ne.jp/katauna/touch/20151205/1449313773
から
https://www1.axfc.net/u/3578126
に遷移し、キーワード ○○○ として
3578126.gz(epgrecUNA151114Fix1.tar.gz)
をダウンロードする
epgrecUNA 151114版用 fix2
http://d.hatena.ne.jp/katauna/touch/20160411/1460383655
から
https://www1.axfc.net/u/3650284
に遷移し、キーワード ○○○ として
3650284.gz(epgrecUNA151114Fix2.tar.gz)
をダウンロードする
地震テロップ対応ファイル
http://d.hatena.ne.jp/katauna/touch/20160425/1461516298
から
http://www1.axfc.net/u/3658547
へ遷移し、キーワード ○○○ としてダウンロード
3658547.gz(quake_alert_fix1.tar.gz)
をダウンロードする
インストール
(1) epgrecUNA_151114.tar.gz、epgrecUNA151114Fix1.tar.gz、epgrecUNA151114Fix2.tar.gz を同じディレクトリに置く
(2) tar.gzファイルを 同じディレクトリで順次解凍する
$ cd DIR $ tar -zxvf epgrecUNA_151114.tar.gz $ tar -zxvf epgrecUNA151114Fix1.tar.gz $ tar -zxvf epgrecUNA151114Fix2.tar.gz
(3) 地震テロップ対応
quake_alert_fix1.tar.gzを任意のディレクトリに置いて解凍する
$ cd QUAKE-DIR $ tar -zxvf quake_alert_fix1.tar.gz recomplete.phpが取り出される
recomplete.phpの17行目を適切な地域名に変更する。
recomplete.phpをepgrecフォルダに置く(既存ファイルと入れ替える)
$ mv QUAKE-DIR/recomplete.php /DIR/epgrec/recomplete.php
(4) /DIR/epgrec/do-record.shを自分用に編集する(そのまま利用してもよい)
$ cp -p do-record.sh.sample do-record.sh do-record.shを編集する。
(5) templates/programTable.html を修正する
( eco.senritu.net/ubuntu16-04-lts_epgrec_una_setup/ より) --- templates/programTable.html.original 2017-02-11 07:56:46.621185357 +0900 +++ templates/programTable.html 2017-02-11 08:02:42.645249529 +0900 @@ -663,7 +663,7 @@ {/if} {if $prg_cnt >= 300}<div>表示最大300件まで</div>{/if} {if $do_keyword} -{if $k_category != 15 || $k_sub_genre>=0x3f } +{if $k_category != 15 || $k_sub_genre>=63 } {if $do_keyword || $prg_cnt < 300} <div> <fieldset> @@ -676,7 +676,7 @@ <b> 局:</b>{$k_station_name} <b> ジャンル({if $first_genre == 1}第一{else}全保持{/if}):</b>{if $k_category == 0}すべて{else}{$k_category_name}{/if} <b>サブジャンル:</b><script type="text/javascript">sub_genre_view({$k_category}, {$k_sub_genre});</script> - <b> 曜日:</b>{if $weekofday == 0x7f}なし{else}{$wds_name}{/if} + <b> 曜日:</b>{if $weekofday == 127}なし{else}{$wds_name}{/if} <b> 時間帯:</b>{if $prgtime == 24}なし{else}{$prgtime}時から{$period}時間{/if} <b> 件数:</b>{$prg_cnt}<br> </fieldset>
(6) config.phpの編集(地上デジタルチャンネルマップを設定)
-define( "TUNER_UNIT1", 0 ); // 第一チューナーの各放送波の論理チューナ数(地上波・衛星波で共用 ex.PT1が1枚なら2) +define( "TUNER_UNIT1", 2 ); // 第一チューナーの各放送波の論理チューナ数(地上波・衛星波で共用 ex.PT1が1枚なら2)
その他はデフォルトでも動く。
(7) BSチャンネル情報を修正
・チャンネル変更に対応させる。 ・不要なチャンネルはハッシュの値( => の右値)を "NC" にする。(コメントアウトしない) ・BS放送大学はBSキャンバスexがBS231ch、BSキャンバスonがBS232ch。 $ diff -u bs_channel.php.old bs_channel.php --- bs_channel.php.old 2015-04-09 16:47:56.000000000 +0900 +++ bs_channel.php 2020-10-03 17:16:24.046765250 +0900 @@ -3,8 +3,8 @@ $BS_CHANNEL_MAP = array( "BS_101" => "BS15_0", // BS15_0 101, // NHKBS1 "BS_102" => "BS15_0", // BS15_0 102, // NHKBS1 - "BS_103" => "BS15_1", // BS15_1 103, // NHKBSプレミアム - "BS_104" => "BS15_1", // BS15_1 104, // NHKBSプレミアム + "BS_103" => "BS3_1", // BS3_1 103, // NHKBSプレミアム + "BS_104" => "BS3_1", // BS3_1 104, // NHKBSプレミアム "BS_141" => "BS13_0", // BS13_0 141, // BS日テレ "BS_142" => "NC", // BS13_0 142, // BS日テレ "BS_143" => "NC", // BS13_0 143, // BS日テレ @@ -14,37 +14,37 @@ "BS_161" => "BS1_1", // BS1_1 161, // BS−TBS "BS_162" => "NC", // BS1_1 162, // BS−TBS "BS_163" => "NC", // BS1_1 163, // BS−TBS - "BS_171" => "BS3_1", // BS3_1 171, // BSジャパン + "BS_171" => "BS1_2", // BS1_2 171, // BSテレ東 "BS_172" => "NC", // BS3_1 172, // BSジャパン2 "BS_173" => "NC", // BS3_1 173, // BSジャパン3 "BS_181" => "BS13_1", // BS13_1 181, // BSフジ・181 "BS_182" => "NC", // BS13_1 182, // BSフジ・182 "BS_183" => "NC", // BS13_1 183, // BSフジ・183 - "BS_191" => "BS3_0", // BS3_0 191, // WOWOWプライム - "BS_192" => "BS5_0", // BS5_0 192, // WOWOWライブ - "BS_193" => "BS5_1", // BS5_1 193, // WOWOWシネマ - "BS_200" => "BS9_1", // BS9_1 200, // スター・チャンネル1 - "BS_201" => "BS7_0", // BS7_0 201, // スター・チャンネル2 - "BS_202" => "BS7_0", // BS7_0 202, // スター・チャンネル3 + "BS_191" => "NC", // BS3_0 191, // WOWOWプライム + "BS_192" => "NC", // BS5_0 192, // WOWOWライブ + "BS_193" => "NC", // BS5_1 193, // WOWOWシネマ + "BS_200" => "NC", // BS9_1 200, // スター・チャンネル1 + "BS_201" => "NC", // BS7_0 201, // スター・チャンネル2 + "BS_202" => "NC", // BS7_0 202, // スター・チャンネル3 "BS_211" => "BS9_0", // BS9_0 211, // BS11 "BS_222" => "BS9_2", // BS9_2 222, // TwellV "BS_231" => "BS11_2", // BS11_2 231, // 放送大学BS1 "BS_232" => "BS11_2", // BS11_2 232, // 放送大学BS2 "BS_233" => "NC", // BS11_2 233, // 放送大学BS3 - "BS_234" => "BS19_0", // BS19_0 234, // グリーンチャンネル - "BS_236" => "BS7_1", // BS7_1 236, // BSアニマックス - "BS_238" => "BS11_0", // BS11_0 238, // FOXbs238 - "BS_241" => "BS11_1", // BS11_1 241, // BSスカパー! - "BS_242" => "BS19_1", // BS19_1 242, // J SPORTS 1 - "BS_243" => "BS19_2", // BS19_2 243, // J SPORTS 2 - "BS_244" => "BS21_1", // BS21_1 244, // J SPORTS 3 - "BS_245" => "BS21_2", // BS21_2 245, // J SPORTS 4 - "BS_251" => "BS23_0", // BS23_0 251, // BS釣りビジョン - "BS_252" => "BS21_0", // BS21_0 252, // イマジカBS - "BS_255" => "BS23_1", // BS23_1 255, // BS日本映画専門ch - "BS_256" => "BS7_2", // BS7_2 256, // ディズニーチャンネル + "BS_234" => "NC", // BS19_0 234, // グリーンチャンネル + "BS_236" => "NC", // BS7_1 236, // BSアニマックス + "BS_238" => "NC", // BS11_0 238, // FOXbs238 + "BS_241" => "NC", // BS11_1 241, // BSスカパー! + "BS_242" => "NC", // BS19_1 242, // J SPORTS 1 + "BS_243" => "NC", // BS19_2 243, // J SPORTS 2 + "BS_244" => "NC", // BS21_1 244, // J SPORTS 3 + "BS_245" => "NC", // BS21_2 245, // J SPORTS 4 + "BS_251" => "NC", // BS23_0 251, // BS釣りビジョン + "BS_252" => "NC", // BS21_0 252, // イマジカBS + "BS_255" => "NC", // BS23_1 255, // BS日本映画専門ch + "BS_256" => "NC", // BS7_2 256, // ディズニーチャンネル "BS_258" => "NC", // BS23_2 258, // Dlife - "BS_531" => "BS11_2", // BS11_2 531, // 放送大学ラジオ - "BS_910" => "BS15_1", // BS15_1 910, // WNI・910 + "BS_531" => "NC", // BS11_2 531, // 放送大学ラジオ + "BS_910" => "NC", // BS15_1 910, // WNI・910 ); ?>
BS放送大学の録画に失敗するのが治らない
次の修正は実施していないがメモしておく。 https://moerrari.hatenablog.com/ より recpt1.cを修正してコンパイルし、epgrecデータベースの放送大学のチャンネルをBS11_2からBS11_1に修正すると問題なく番組表からのリアルタイム視聴が可能となったが、EPG番組表が更新されると放送大学のチャンネルが元のBS11_2に戻ってしまう。 これはepgrec UNAがEPGデータからチャンネルの更新を行なっているためである。 EPGデータから更新処理を行なうstoreProgram.inc.phpの227行目にある「BS/CSチャンネル番号変更」の箇所をコメントアウトしてチャンネル番号の変更処理が行なわれないようにして、ひとまず対応した。 (storeProgram.inc.php 227行目) // BS/CSのチャンネル番号変更 if( $type !== 'GR' ){ // 放送大学のチャンネル更新不具合のためこの処理をコメントアウト /* $tmp_ch = $type==='BS'? 'BS'.$ch['node'].'_'.$ch['slot'] : $type.$ch['node']; 276行目に閉じ括弧があるため、この直前までをコメントアウトする。 unset( $rev ); } } */ }
下記も行っていないがメモしておく https://mevius.5ch.net/test/read.cgi/avi/1573547529/316-n より 498名無しさん@編集中 (ワッチョイ 6a99-PrJo)2020/05/09(土) 15:14:27.17ID:LQcAIHCZ0>>500>>503 誰か教えてほしい epgrec UNAを使っているが、BSスカパー!がBS11_0になってくれない /epgrec/settings/bs_channel.phpを書き換えても、phpmyadminで直接書き換えても、番組表の読み込みでBS11_1に替えられてしまう 他に設定箇所はない気がするでお手上げになっている お知恵を拝借したい 500名無しさん@編集中 (ワッチョイW 6a01-XvAx)2020/05/09(土) 16:55:54.51ID:srZQgpf70>>501 >>498 ウチも同じ状態 そもそもtsファイルを直接epgdumpにくわせての生出力がBS11_1になってしまっているので諦めている bs_channel.phpがどう関わって来るのかは不明 解決策が有るなら嬉しい 501498 (ワッチョイ 6a99-PrJo)2020/05/09(土) 18:47:08.41ID:LQcAIHCZ0 >>500 他にもいるのか データベースを入れ替えても改善できないし見当が付かなくて困っている 諦めるしかないのかね 504名無しさん@編集中 (ワッチョイ 7332-CfHe)2020/05/09(土) 21:03:01.83ID:oXiPx8qc0>>506 epgdump.cの1249行目 if( type==RADIO_BS && ( svtcur->transport_stream_id==0x40f1U || svtcur->transport_stream_id==0x40f2U ) ) ↓ if( type==RADIO_BS && ( svtcur->transport_stream_id==0x40f1U || svtcur->transport_stream_id==0x40f2U || node==11 ) ) 空いたスロットは電波上で前につめるって規定があるみたいですね 実運用ではノードで受信してからスロット毎に設定されているTSIDと選局TSIDが一致したらスロットを確定って流れみたいです PTシリーズのキャラデバドライバはノードとスロットの決め打ちだったとおもうので完全自動化は無理になちゃいました DVBデバイスは選局指定子にTSIDを要求するのでドライバの造り次第では大丈夫かも まあこの場合はフロントエンド側にTSID選局への修正が必要ですけど 505名無しさん@編集中 (アウアウウーT Sa1f-oySJ)2020/05/09(土) 22:16:20.50ID:4w049EdLa>>507 UNAでの放送大学・スカパーの件ですが storeProgram.inc.php 228 行あたりを、次のように変更したら、うまい事動いてるけど、 自己責任で・・・ (真ん中が追加行) // BS/CSのチャンネル番号変更 if( $type == 'BS' and $ch['node'] == '11' ){ --$ch['slot']; } if( $type !== 'GR' ){ 506498 (ワッチョイ 6a99-PrJo)2020/05/09(土) 22:18:29.24ID:LQcAIHCZ0 >>502 BS11_1になる >>504 データベースを書き換えて、その加筆をしてmakeし直してみて、EPGの更新をした データベースも作成ファイルも問題なし 取り敢えず解決できた でも今後スロットの変更が出たときには手で書き直さなければならないということなのか 508名無しさん@編集中 (ワッチョイW 4ae3-8gDj)2020/05/09(土) 23:54:08.82ID:FK77cWYh0 うちもepgdumpの修正でなおった。ありがとう
(8) epgrecフォルダをhttpサーバードキュメントルートにコピーする
$ sudo cp -a DIR/epgrec/* /var/www/html/epgrec_una/ $ sudo chown -R www-data:www-data /var/www/html/epgrec_una
(9) ファイル属性を設定する
# su - www-data $ cd /var/www/html/epgrec_una $ chmod 777 cache templates_c video thumbs settings $ chmod 666 thumbs/index.html video/index.html $ chmod 755 do-record.sh recomplete.php shepherd.php sheepdog.php collie.php airwavesSheep.php trans_manager.php scoutEpg.php repairEpg.php showEXmem.php resetEXmem.php epgwakealarm.php gen-thumbnail.sh
(10) videoディレクトリを自分用に設定する
大容量ディスクを /var/bigdata/01 にマウント。 LAN内の他ホストの大容量ディスクディレクトリを /mnt/PCNAME/bigdata/01 にマウント。 # mkdir /bigdata # ln -s /var/bigdata/01 /bigdata/01 # ln -s /mnt/PCNAME/bigdata/01 /bigdata/02 # mkdir /bigdata/01/tvYYYYMMDD # ln /bigdata/01/tvYYYYMMDD /var/www/html/epgrec_una/video/tv /var/www/html/epgrec_una/video/tv を録画ファイル保管先とする。
初期設定
http://localhost/epgrec_una/ にアクセスして設定。
番組情報取得cron設定
# cp /var/www/html/epgrec_una/cron.d/shepherd /etc/cron.d/
/etc/cron.d/shepherd を編集する。
SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin 32 */2 * * * www-data /var/www/html/epgrec_una/shepherd.php
phpのバージョンが7.3以降ならshepherd.phpとstoreProgram.inc.php内のswich構文に使われているcontinueをbreakに置き換える。
参考: composer installができなくなった時の解決法(PHP7.3) - Qiita
(phpのバージョンが7.3以降でのLog出力状況)
PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /var/www/html/epgrec_una/shepherd.php on line 71
PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /var/www/html/epgrec_una/shepherd.php on line 73
PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /var/www/html/epgrec_una/storeProgram.inc.php on line 58
PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /var/www/html/epgrec_una/storeProgram.inc.php on line 63
PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /var/www/html/epgrec_una/storeProgram.inc.php on line 67
PHP Warning: "continue" targeting switch is equivalent to "break". Did you mean to use "continue 2"? in /var/www/html/epgrec_una/storeProgram.inc.php on line 386
PC起動時の番組情報取得設定
systemdへの登録
/etc/systemd/system/epgrec-shepherd.service を下記内容で作成する。
[Unit] Description=Set epgrec-shepherd.php enabled After=mysql.service [Service] Type=oneshot ExecStart=/var/www/html/epgrec_una/shepherd.php RemainAfterExit=yes [Install] WantedBy=multi-user.target
epgrec UNAの再初期設定
mysql上のデータベースを削除し、再作成する。 settings/config.xml を削除する。 settings/bs_channnel.php を再設定する。 http://localhost/epgrec_una/ にアクセスして再設定する。
epgrec UNAはデフォルトでは127.0.0.1と192.168.0.0/16以外からの設定変更は拒否するようになっている(config.phpのSETTING_CHANGE_GIP)
do-record.shのテスト。
$ OUTPUT=test.ts CHANNEL=14 DURATION=30 TUNER=0 TUNER_UNIT=2 MODE=0 TYPE=GR /var/www/epgrec/do-record.sh # DURATION : second