本プログラム(raspirec) は Linux 系OS上で、
recpt1/recdvb,epgdump を使って TV番組を録画する録画サーバーを構築するための
録画予約システムです。
特に、ラズパイのようなシングルボードコンピュータ(SBC)で動作させる事に最適化しています。
なお動作には recpt1/recdvb に対応しているドライバーがあるTVチューナー ( アースソフト社製 PT1〜3, PLEX社製 PX-W3U4、PX-W3PE4、PX-Q3U4、PX-Q3PE4 等) が必要です。
チューナーカード名 | ドライバー | デバイスファイル | 録画コマンド |
---|---|---|---|
PT1, PT2 | pt1_drv | /dev/pt1video0 | recpt1 |
PT3 | pt3_drv | /dev/pt3video0 | |
Plex社製 PX-Q3U4 等 | px4_drv | /dev/px4video0 | |
PT1, PT2, PT3 | earth_pt1,earth_pt3 | /dev/dvb/adapter0/frontend0 | recdvb *1 |
*1 : recdvb は本家のものではなく recpt1互換の recdvb を使用します。
Top画面 ![]() |
番組表![]() |
予約状況表 ![]() |
番組検索 ![]() |
mpvモニタ(1) ![]() |
mpvモニタ(2) ![]() |
* mpvモニタ(2)は raspbery Pi 3B+ に接続された PX-Q3U4 の映像を親機のdesktopに表示
hlsモニタ ![]() |
raspirecTV ![]() |
jquery,Materialize を参照しているので、 インターネットにアクセス出来る環境で動作させる事が必要。 だたし、あらかじめ参照ファイルをダウンロードして置けばオフラインでも動作させる事ができる。 (doc/jquery_local.md を参照 )
セキュリティにはあまり考慮していないので、インターネット側から アクセス出来る状態にしないで下さい。
インストールに必要な下記のパッケージを apt install で インストールする。
recpt1/recdvb
ハードに合わせたドライバーをインストールし、 コマンドラインから実行して録画出来る事を確認しておく。
epgdump
epgdump は、同じ名前で仕様の違うものがあるので、 必ず https://github.com/Piro77/epgdump を使う。
raspirec ( 基本機能のみ、オプション機能は 別紙を参照 )
インストールするディレクトリに移動して
% git clone https://github.com/kaikoma-soft/raspirec.git
すると raspirec というディレクトリが出来るので、 それを以下 $BaseDir とする。
環境に合わせて configファイルをカスタマイズ
雛形の config.rb.sample を $HOME/.config/raspirec/config.rb にコピー
コピーした config.rb をテキストエディタを使って、 自分の環境に合わせるように修正する。 とりあえず最低限必須なのは次のもの。詳細は doc/config.md を参照
Recpt1_cmd : recpt1 コマンドの path を指定する。
Epgdump : epgdump コマンドの path を指定する。
BaseDir : raspirec がインストールされているディレクトリを設定する。 ( raspirec.rb があるディレクトリ )
DataDir : データベースや録画したファイルの置き場所を指定する。
GR_EPG_channel : 地デジ EPG 受信局を設定する。
GR_tuner_num : 地デジチュナー数
BSCS_tuner_num : BSCSチュナー数
GBC_tuner_num : 地デジ/BS/CS チューナー数
configファイルを $HOME/.config 以外の任意の場所に置きたい場合は、 環境変数 RASPIREC_CONF に絶対パスで指定して下さい。
テスト実行
% ruby ${BaseDir}/raspirec.rb -f
一度フォアグラウンドで実行し、エラーが出ない事を確認する。 エラーメッセージがでなければ、Ctrl-C で中止する。
実行方法
% ruby ${BaseDir}/raspirec.rb
でデーモンモードで起動する。
すぐに終了するが、バックグラウンドでサービスは走っているので、
WEBブラウザ で http://ホスト名:4567/ でアクセスする。
( ポート番号の 4567はデフォルトの値で、config で変更可)
なお、OS の boot時に、自動で起動させたい場合は crontab に
@reboot /usr/bin/ruby ${BaseDir}/raspirec.rb
を記述する。
停止方法
% ruby ${BaseDir}/raspirec.rb --kill
で、デーモンが停止する。
その1 | その2 | その3 | |
---|---|---|---|
機種 | raspberry pi 3B+ | AMD Ryzen 7 2700 + MEM 16G | ← |
OS | Raspbian Stretch | Ubuntu 20.04.2 LTS | ← |
TVチューナー | PX-Q3U4 | PT2 | ← |
ドライバー | px4_drv | pt1_drv | earth_pt1 |
録画ソフト | recpt1 | recpt1 | recdvb |
Docker を使ったテスト環境を用意しましたので、 簡単に動作テストをする事が出来ます。
不具合報告等は、gitHub の issues の方にお願いします。
このソフトウェアは、Apache License Version 2.0 ライセンスのも とで公開します。詳しくは LICENSE を見て下さい。