Index: /trunk/doc/index.html
===================================================================
--- /trunk/doc/index.html (リビジョン 78)
+++ /trunk/doc/index.html (リビジョン 83)
@@ -32,6 +32,6 @@
番組名と放映局を指定しておけばあとはなにもせずに毎回録画されます。しょぼいカレンダーというアニメ番組表サイトと強く連係することで、野球中継で時間がずれても毎回期待通り録画されます。
- 外部オプションを取り付けることで外付けチューナのコントロールも実現します。
- 録画した番組は自動的にMPEG4に変換され、iPodに自動転送することが可能です。PSPに転送して視聴することも可能です。
+ 外部オプションを取り付けることで外付けチューナのコントロールも実現します。適切な録画装置を組み合わせることでハイビジョン録画も実現します。
+ 録画した番組は自動的にH.264/AVCに変換され、iPodに自動転送することが可能です。PSPに転送して視聴することも可能です。
全ての主要操作はWebベースでコントロールされます。
@@ -42,18 +42,29 @@
foltiaの動作にはLinux,Apache,PHP,Perl,PostgreSQLとビデオキャプチャ用ivtvドライバなどが必要です。
+
foltiaの動作にはLinux,Apache,PHP,Perl,PostgreSQLと録画プログラム、mplayer,ffmpeg,faac,iui,などが必要です。
インストールはおおまかにOS,Apache,ivtvドライバ、PostgreSQL、foltiaの順で進めて行くとよいでしょう。
phpPgAdminやSambaなども必要に応じて入れておくと便利かもしれません。
- foltiaのダウンロードは公式ページまたはSubversionで入手することが可能です。
+ foltiaのダウンロードは公式ページのtarボールまたはSubversionで入手することが可能です。
Subversionを使う場合は下記のコマンドで最新versionを入手できます。
$svn co http://svn.dcc-jpl.com/foltia/trunk foltia
-またインストールについては「foltiaインストールマニュアル」も参考になります。
+またインストールについては「foltiaインストールマニュアル」も参考になります。(内容はやや古くなっています)
あらかじめキャプチャカードを取り付け、に外部チューナを外部入力端子につないでおきます。
+あらかじめキャプチャカード、録画装置を取り付け、アンテナ線をつなぎ、外部チューナを外部入力端子につないでおきます。
手もとの開発環境ではFedora Coreを使っています。一通りインストールを終えたらfoltiaを動作させるアカウント「foltia」を作ります。
+筆者の環境ではFedora Coreを使っています。一通りインストールを終えたらfoltiaを動作させるアカウント「foltia」を作ります。
Apacheは2.2以降が2GBを越えるファイルの転送にも対応していて便利です。
ポイントは、Apacheを動かすユーザをfoltiaにすることと、「.THM」のmime typeをimage/jpegにする設定を追加することです。
「FEDORA
- CORE で GV-MVP/RX を使う」のrpmパッケージを使用すると早いです。
- 複数エンコーダを搭載している場合には/etc/modprobe.confに
- options ivtv tuner=46,46
- と、エンコーダの数だけ「46」を書き足します。
- ビデオキャプチャデバイスが利用できるようになったら
- chmod 0666 /dev/video*
- でroot以外でも利用できるようにパーミッションを変更します。
最近のLinuxのディストリビューションだと標準で使えるようになっていることが多いようです。
ポイントは文字コードをEUC-JPでデータベースをつくることです。foltiaという名前でデータベースを作ったら、foltiaパッケージ付属のmktable.txtでテーブルを作成します。
-以下のアプリケーションを利用します。インストールされてなければyumやaptなどからインストールして下さい。
- mplayer:サムネール作成に利用
-ImageMagick:サムネール作成に利用
以下のPerlモジュールを利用します。インストールされてなければCPANなどからインストールして下さい。
@@ -153,23 +165,31 @@
EPG番組表取得に必要なXMLTV日本語版をインストールします。ぱ研が制作したものがすでに本家にマージされているようです。
iPod H.264/AVCを作れる拡張をされたffmpegをインストールします。
+
最近のffmpegはiPod用H.264作成オプション(-f ipod)をもっていますが、ディストリビューション付属のffmpegがうまく動かなかったら作り直してインストールします。
1.ffmpegのソースを入手する
-
$svn checkout --revision {"2006-03-28 22:00"} svn://svn.mplayerhq.hu/ffmpeg/trunk +
$svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg -
2.ここにあるiPodパッチをあてる
- http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/2006-March/009814.html
- 環境によっては更にx264.cのアップデートが必要という情報が寄せられた。(From foltia BBS TTTさん)
-
svn cat --revision 6711 ffmpeg/libavcodec/x264.c > ffmpeg/libavcodec/x264.c
- 3.メイクする2.メイクする
手もとでは下記オプションでビルドしています。
-
$./configure --enable-mp3lame --enable-x264 --enable-gpl --enable-a52 ---enable-xvid --enable-faac --enable-faad --enable-amr_nb --enable-amr_wb --enable-pthreads +
$./configure --enable-libmp3lame --enable-libx264 --enable-libxvid + --enable-libfaac --enable-libfaad --enable-pthreads --enable-gpl
installディリクトリの中にある「perl」と「php」をそれぞれ適当なところに配置します。
手もとの環境では/home/foltia/perl/と/home/foltia/php/に配置しています。
MPEG4のトラコンに利用しているツール「mp4psp」をインストールします。「ヘチマコンピュータ」によって作られたコードの「作業日誌と云う名の不定記 - 2005/01/23 」によるLinux版をベースにしたツールです。PSP用にタイトルを入力してATOMヘッダを組み立てて最適化するのに使用します。またファーストスタート形式にも最適化します。
+以下のプログラムを利用します。
+recfriio:Friioを使ったデジタルハイビジョン録画に利用 http://2sen.dip.jp/cgi-bin/friioup/source/up0777.zip
+
+TsSplitter:MPEG-2
+TS streamを分割するwindows用プログラム http://2sen.dip.jp/cgi-bin/friioup/source/up0827.zip
+tss.py:TSを分割するPythonスクリプト、正確にはHD以外のストリームを捨てるスクリプト
+Nero AAC コーデック:オーディオトラックのAACエンコードに使う。FAACと比べて品質がとても良い。
+上記のneroAacEnc,
+recfriio,
+TsSplitter.exe,tss.pyは~/perl/tool/あたりに入れて下さい。
+
+ iui:iPhone用UIライブラリ
+ iuiは~/php/iui/として入れて下さい。
Home Electronics社製USB 赤外線トランスミッタ Tira-2.1を利用することにより、外部チューナのコントロールを行うことが可能です。
@@ -186,5 +206,5 @@
$recunits = '4';
- 搭載エンコーダの数。GV-MVP/RX2Wを一枚刺しの場合は2になります。
+ アナログ録画の設定です。搭載エンコーダの数を指定します。GV-MVP/RX2Wを一枚刺しの場合は2になります。デジタルハイビジョン録画のみの場合は0になります。
$recfolderpath = '/home/foltia/php/tv';
@@ -192,17 +212,14 @@
$uhfbandtype = 0;
- UHF帯なら0、CATVなら1を指定します。それぞれivtvのntsc-bcast-jpとntsc-cable-jpに対応します。
+ アナログ録画の設定です。UHF帯なら0、CATVなら1を指定します。それぞれivtvのntsc-bcast-jpとntsc-cable-jpに対応します。
$rapidfiledelete = 1;
1なら削除ファイルは「mita」ディレクトリに移動、0なら即時削除します。mitaディレクトリはゴミ箱のように機能しますが自動的に削除はしません。らくちんな運用をしたければ0、安全のため保存しておきたければ1でよいでしょう。
$tunerinputnum = 6;
- $svideoinputnum = 7;
- $comvideoinputnum = 8;
+
$tunerinputnum = 0;
+ $svideoinputnum = 1;
+ $comvideoinputnum = 2;
上記3行にキャプチャカードごとに固有な映像入力のパラメータを示すivtvのinput numperを指示します。それぞれ、チューナ入力、S映像入力、コンポジット入力を指定します。デフォルトはIO
- DATA製 GV-MVP/RX,RX2,RX2Wカードで利用できる設定となっています。
-カード固有の値を調べるにはivtvドライバをインストールした状態で
$/usr/bin/ivtvctl.paken - --list-inputs --device=/dev/video0
-などで可能です。
+ DATA製 GV-MVP/RX,RX2,RX2Wカードで利用できる設定となっています。
+
$haveirdaunit = 1;
@@ -216,12 +233,14 @@
$trconqty = 2;
MPEG4変換の品質を指定します。デフォルトはH.264/AVCの中画質となっています。
- 3の高画質はファイルサイズは小さく画質もよいのですが処理時間がかかりすぎているのでデフォルトには指定していません。
- 手もとのCeleron2.6GHzのパソコンで、3の設定で実尺の3.4倍、2の設定で1.1倍、1の設定で0.77倍位の処理時間で完了しています。
- 0:PSP/iPod XviD MPEG4(旧式):faacとMPEG4IPを使って変換
- 1:iPod Xvid MPEG4 標準画質 15fps 300kbps
- 2:iPod H.264 中画質 24fps 300kbps
- 3:iPod H.264 高画質 30fps 300kbps
- 4:iPhone/iPod 480x320 H.264 高画質 24fps 350kbps
- 5:iPhone/iPod 480x320 H.264 高画質 30fps 350kbps
+デフォルトでバランスのよい2が選択されています。
+アナログソースとデジタルソースで設定が若干異なります。
+アナログソースでは
+手もとのCeleron2.6GHzのパソコンで、3の設定で実尺の3.4倍、2の設定で1.1倍、1の設定で0.77倍位の処理時間で完了しています。
+0:PSP/iPod XviD MPEG4(旧式):faacとMPEG4IPを使って変換(古い設定)
+ 1:iPod Xvid MPEG4 標準画質 15fps 300kbps / デジタル 360x202 24.00fps 300kbps
+ 2:iPod H.264 中画質 24fps 300kbps / デジタル 360x202 24.00fps 300kbps
+ 3:iPod H.264 高画質 30fps 300kbps/ デジタル 480x272 29.97fps 400kbps
+ 4:iPhone/iPod 480x320 H.264 高画質 24fps 350kbps / デジタル 640x352 29.97fps 600kbps
+
$phptoolpath = $toolpath ;
@@ -250,5 +269,5 @@
録画の重要な設定となる項目です。インストールが無事に終了してれば首都圏の放送局設定サンプルが入っていますのでそれを参考に設定して下さい。
- foltia_stationテーブルのそれぞれの項目について説明します。
+ foltia_stationテーブルのそれぞれの項目について説明します。しょぼいカレンダーの情報によって放送局は自動的に追加されていきます。
stationid:ユニークなID値です。
@@ -266,5 +285,7 @@
foltia_epgにデータがインポートされていて
3.foltia_stationテーブルのontvcodeフィールドにfoltia_epgテーブルのontvchannelフィールドと同じ放送局識別名が記入されている
- 局になります。デフォルトで関東キー局とBS、BSデジタル局、CS局が設定されています。
USBトランスミッタであるTira2を動作させるために必要な準備を行います。
@@ -276,4 +297,10 @@
ここまで設定できたらあと一息で完了します。まず単純な録画ができるか動作確認していきましょう。
+ 【デジタルハイビジョン編】
+~/perl/toolにインストールしたrecfriioが正しく動作するか確かめます。
recfriio --b25 27 60 /home/foltia/php/tv/test-mpeg2-ts.m2t
+これで27チャンネルのvlcで視聴出来る状態のMPEG2-tsファイルが60秒ぶん、指定した位置にでき上がれば録画成功です。
+ エラーがでた場合はインストールを見直して下さい。
+ 【アナログ編】
最初に
$head /dev/video0
@@ -281,5 +308,6 @@ つぎに、録画試験を~/perl/tvrecording.plを使って行います。$./tvrecording.pl 1 60 0 test.m2p 5 0 0 /dev/video0
-としてみましょう。この例は1chを60秒5Mbpsでtest.m2pというファイル名で/dev/video0から録画することを意味しています。2分程度でプロンプトに戻ります。録画ファイル保存フォルダ(デフォルトだと/home/foltia/tv/)にtest.m2pが出来ていて、ファイルを再生して期待通りならば第1段階成功です。うまくいかなかった場合には~/debug.txtに書かれる情報も参考にして原因を突き止めて下さい。
+
としてみましょう。この例は1chを60秒5Mbpsでtest.m2pというファイル名で/dev/video0から録画することを意味しています。2分程度でプロンプトに戻ります。録画ファイル保存フォルダ(デフォルトだと/home/foltia/tv/)にtest.m2pが出来ていて、ファイルを再生して期待通りならば第1段階成功です。うまくいかなかった場合には~/debug.txtに書かれる情報も参考にして原因を突き止めて下さい。
+
つぎに、しょぼいカレンダーから番組データをインポートできるかを確認します。
$./perl/getxml2db.pl
@@ -287,22 +315,22 @@ ここまでできたらWebブラウザでインストールしたphpのディレクトリを開いてみましょう。$atq
-182194 2006-01-31 00:40 a foltia
放映予定の5分前に起動するプロセスが入ってることが確認できます。
- この例だと00:40にfolprep.plが起動します。
+ この例だと01:10にfolprep.plが起動します。
folprep.plが起動すると放映予定1分前にrecwrap.plがキューに入ります。
$atq
- 182195 2006-01-31 00:44 a foltia
番組が終了したらMPEG2が録画されたか確認してみましょう。デフォルトで~/php/tv/690-16-20060131-0045.m2pというファイルが出来ているはずです。ファイル名はそれぞれ以下のルールで命名されます。
+ 182195 2009-01-08 01:14 a foltia
番組が終了したらMPEG2が録画されたか確認してみましょう。デフォルトで~/php/tv/1546-1-20090108-0115.m2tというファイルが出来ているはずです。ファイル名はそれぞれ以下のルールで命名されます。
TID:しょぼいカレンダーと共通の番組IDです。
話数:番組が第何話かを示します。該当しない場合は空白になります。
放映日:YYYYmmddスタイルの放映日です。
放映時刻:0000-2359の間での開始時刻になります。しょぼいカレンダーでは24:00以降の時刻を扱いますがfoltiaでは暦通り24:00以降の時刻は次の日として取り扱います。
- MPEG2の録画が完了するとfoltiaはffmpegを利用してH.264/AVCへの変換を開始します。所要時間はCeleron2.6GHz環境で実尺の1.2倍程度の時間です。この例の場合~/php/tv/690.localized/mp4/MAQ-690-16-20060131-0045.MP4という動画ファイルと同じ階層にMAQ-690-16-20060131-0045.THMファイルができ上がります。ファイル名は、先頭がM4Vの場合MPEG4(XviD)、MAQの場合H.264/AVC、そのあとに続くのはMPEG2と同じルールです。
番組指定による自動録画が動いたら、つぎにEPGによる個別番組録画の動作確認に移りましょう。
まず番組データをXMLTVを用いてインポートします。
大きく上下のふたつのエリアに分かれていて、予約されている番組の放映予定と番組名を一覧表示します。ここでも[TID]をクリックすると番組予約画面へ、[タイトル]をクリックすると「しょぼいカレンダー」の該当番組詳細画面へそれぞれ移動します。録画予約の解除は下半分のタイトルリストの項目から行います。EPG予約の解除もここから行います。「画質」項目は録画ビットレートをMbps単位で表示しています。
+
大きく上下のふたつのエリアに分かれていて、予約されている番組の放映予定と番組名を一覧表示します。ここでも[TID]をクリックすると番組予約画面へ、[タイトル]をクリックすると「しょぼいカレンダー」の該当番組詳細画面へそれぞれ移動します。録画予約の解除は下半分のタイトルリストの項目から行います。EPG予約の解除もここから行います。「画質」項目は録画ビットレートをMbps単位で表示しています。(いまのところデジタル録画の重複表示には対応していません)
色が付いている番組は重複警告です。搭載された録画ユニットで録画し切れない場合に色がつきます。赤色はカードに搭載されたアナログチューナーの重複、青色は外部入力の重複を示します。重複警告がでている番組は録画が欠ける可能性があります。また、アナログチューナー、外部チューナーともに00:00-00:30 番組A ,00:30-01:00 番組Bという番組が連続している場合は重複とは判断しません。
引数rでエンコーダ数を変更して予約状況を調べる事が出来ます。listreserve.php?r=6で6台エンコーダを搭載したときの予約状況を調べる事が出来ます。
@@ -401,5 +429,8 @@
「キャプ」でキャプチャ画面一覧を開きます。
-
+
+
+ この一連の画面をiPhoneで開くとこのようになります。
+
今後ユーザごとにFolcastを編集出来る機能などを開発予定です。
以上、駆け足でfoltiaの概要を説明してきました。今のところfoltiaには視聴に関する機能は一切ありませんが、使用例として自宅では富士通T90Hというパソコンにfoltia録画ボリュームをSambaでマウントし、WinDVDでMPEG2を再生、外ではiPod
- VideoでMPEG4を視聴しています。DVD Playerソフトでファイルを選んで再生するのがいまひとつめんどくさい操作なので、今後の改良点としたいところです。
+
以上、駆け足でfoltiaの概要を説明してきました。今のところfoltiaには視聴に関する機能は一切ありませんが、パソコンにfoltia録画ボリュームをSambaでマウントし、VLCでMPEG2を再生、外ではiPhoneでfolcastかストリーミングで視聴しています。DVD
+ Playerソフトでファイルを選んで再生するのがいまひとつめんどくさい操作なので、今後の改良点としたいところです。
foltiaはまだまだ開発途上のソフトウェアです。今後の計画は以下の様なものを考えています。
・未読番組管理機能
・ロケーションフリーテレビのようなライブストリーミング機能
- ・デジタル放送のデジタル録画機能
- 詳しくはfoltia Development Central wiki:「foltia のToDoやらゆめを適当に書くwiki」に。
- 今後も全ての情報はDCC-JPL Japanの公式ページ<http://www.dcc-jpl.com/soft/foltia/>に掲載していきます。
・謝辞 放送日:
- 年月日 Ex.19800121
以下の数々のサイトを利用、参考にさせていただいております。改めましてお礼申し上げます。
Index: /trunk/install/perl/foltialib.pl
===================================================================
--- /trunk/install/perl/foltialib.pl (リビジョン 70)
+++ /trunk/install/perl/foltialib.pl (リビジョン 83)
@@ -22,4 +22,25 @@
$DBPass="";
+
+
+ $FILESTATUSRESERVINGLONG = 10;
+ $FILESTATUSRESERVINGSHORT = 20;
+ $FILESTATUSRECORDING = 30;
+ $FILESTATUSRECTSSPLITTING = 40;
+ $FILESTATUSRECEND = 50;
+ $FILESTATUSWAITINGCAPTURE = 55;
+ $FILESTATUSCAPTURE = 60;
+ $FILESTATUSCAPEND = 70;
+ $FILESTATUSTHMCREATE = 72;
+ $FILESTATUSWAITINGTRANSCODE = 80;
+ $FILESTATUSTRANSCODETSSPLITTING = 90;
+ $FILESTATUSTRANSCODEFFMPEG = 100;
+ $FILESTATUSTRANSCODEWAVE = 110;
+ $FILESTATUSTRANSCODEAAC = 120;
+ $FILESTATUSTRANSCODEMP4BOX = 130;
+ $FILESTATUSTRANSCODEATOM = 140;
+ $FILESTATUSTRANSCODECOMPLETE = 150;
+ $FILESTATUSALLCOMPLETE = 200;
+
#------------------------------
@@ -258,4 +279,164 @@
+sub getpidbympegfilename {
+#引き数:m2pfilename
+#戻り値:PID
+my $m2pfilename = $_[0] ;
+if ($m2pfilename eq ""){
+ return 0 ;
+}
+
+my $DBQuery = "SELECT pid FROM foltia_subtitle WHERE m2pfilename = '$m2pfilename' LIMIT 1 ";
+my $sth;
+$sth = $dbh->prepare($DBQuery);
+$sth->execute();
+#print "$DBQuery\n";
+my @pidinfo = $sth->fetchrow_array;
+my $pid = $pidinfo[0];
+
+if ($pid eq ""){
+ return 0 ;
+}else{
+ return $pid;
+}
+}#end sub getpidbympegfilename
+
+sub changefilestatus {
+#引き数:PID,updatestatus
+#戻り値:エラーコード
+my $pid = $_[0] ;
+my $updatestatus = $_[1];
+if (($pid eq "" ) || ($updatestatus eq "")){
+ return 0 ;
+}
+
+if ($updatestatus > 0 ){
+my $DBQuery = "UPDATE foltia_subtitle SET filestatus = $updatestatus , lastupdate = now() WHERE pid = $pid ";
+my $sth;
+$sth = $dbh->prepare($DBQuery);
+$sth->execute();
+return 1;
+}else{
+ &writelog("foltialib changefilestatus ERR Sttus invalid:$updatestatus");
+ return 0 ;
+}
+}# end sub changefilestatus
+
+
+sub getfilestatus {
+#引き数:PID
+#戻り値:ステータス
+
+#10:予約中(5分以上先)
+#20:予約中(5分以内)
+#30:録画中
+#40:TSSplit中
+#50:MPEG2録画終了
+#55 静止画キャプチャ待
+#60:静止画キャプ中
+#70:静止画キャプ終了
+#72:サムネイル作成済み(.THM)
+#80:トラコン待
+#90:トラコン中:TSsplit
+#100:トラコン中:H264
+#110:トラコン中:WAVE
+#120:トラコン中:AAC
+#130:トラコン中:MP4Box
+#140:トラコン中:ATOM
+#150:トラコン完了
+#200:全完了
+my $pid = $_[0] ;
+if ($pid eq "" ){
+ return 0 ;
+}
+
+my $DBQuery = "SELECT filestatus FROM foltia_subtitle WHERE pid = $pid ";
+my $sth;
+$sth = $dbh->prepare($DBQuery);
+$sth->execute();
+
+my @statusinfo = $sth->fetchrow_array;
+my $status = $statusinfo[0];
+
+if ($status eq ""){
+ return 0 ;
+}else{
+ return $status;
+}
+
+
+}# end sub getfilestatus
+
+
+sub makemp4dir{
+#TIDが100以上の3桁の場合はそのまま
+my $pspfilnamehd = $_[0];
+my $tid = $_[0];
+my $pspdirname = "$tid.localized/";
+$pspdirname = $recfolderpath."/".$pspdirname;
+
+#なければ作る
+unless (-e $pspdirname ){
+ system("$toolpath/perl/mklocalizeddir.pl $tid");
+ #&writelog("recwrap mkdir $pspdirname");
+}
+$pspdirname = "$tid.localized/mp4/";
+$pspdirname = $recfolderpath."/".$pspdirname;
+#なければ作る
+unless (-e $pspdirname ){
+ mkdir $pspdirname ,0777;
+ #&writelog("recwrap mkdir $pspdirname");
+}
+return ("$pspdirname");
+}#endsub makemp4dir
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
1;
Index: /trunk/install/perl/updatem2pfiletable.pl
===================================================================
--- /trunk/install/perl/updatem2pfiletable.pl (リビジョン 69)
+++ /trunk/install/perl/updatem2pfiletable.pl (リビジョン 83)
@@ -34,5 +34,5 @@
$sth->execute();
-while ($file = glob("$recfolderpath/*.m2p")) {
+while ($file = glob("$recfolderpath/*.m2?")) {
$file =~ s/$recfolderpath\///;
$query = "insert into foltia_m2pfiles values ('$file')";
@@ -57,11 +57,11 @@
$filetid = $fileline[0];
$filetid =~ s/[^0-9]//g;
-
-$query = "insert into foltia_mp4files values ('$filetid','$fileline[2]')";
-$oserr = $dbh->do($query);
+if (($filetid ne "" )&& ($fileline[2] ne "" )){
+ $query = "insert into foltia_mp4files values ('$filetid','$fileline[2]')";
+ $oserr = $dbh->do($query);
#print "$filetid;$fileline[2];$query\n"
# http://www.atmarkit.co.jp/fnetwork/rensai/sql03/sql1.html
-
-}
+}#end if
+}# end foreach
$oserr = $dbh->commit;
Index: /trunk/install/perl/foltia_conf1.pl.template
===================================================================
--- /trunk/install/perl/foltia_conf1.pl.template (リビジョン 70)
+++ /trunk/install/perl/foltia_conf1.pl.template (リビジョン 83)
@@ -15,14 +15,14 @@
$uhfbandtype = 1; # CATVなら1 UHF帯なら0 : 0=ntsc-bcast-jp 1=ntsc-cable-jp
$rapidfiledelete = 1;#1なら削除ファイルは「mita」ディレクトリに移動。0なら即時削除
-$tunerinputnum = 6; #IO-DATA DV-MVP/RX,RX2,RX2W
-$svideoinputnum = 7;#IO-DATA DV-MVP/RX,RX2,RX2W
-$comvideoinputnum = 8;#IO-DATA DV-MVP/RX,RX2,RX2W
+$tunerinputnum = 0; #IO-DATA DV-MVP/RX,RX2,RX2W
+$svideoinputnum = 1;#IO-DATA DV-MVP/RX,RX2,RX2W
+$comvideoinputnum= 2;#IO-DATA DV-MVP/RX,RX2,RX2W
$haveirdaunit = 1;#Tira-2
録画開始時刻: - 時分 Ex.2304
+ 時分 Ex.=$nowdate?>録画尺: @@ -205,7 +215,11 @@ 0 +UNION +SELECT DISTINCT stationid,stationname,stationrecch ,digitalch +FROM foltia_station +WHERE digitalch > 0 ORDER BY \"stationid\" ASC"; @@ -248,5 +262,17 @@ } } - +/* +print "
デジタル録画を優先:"; + +if ($usedigital == 1){ +print " する + しない +"; +}else{ +print " する + しない +"; +} +*/ ?>
番組名: Index: /trunk/install/php/foltia_config2.php.template =================================================================== --- /trunk/install/php/foltia_config2.php.template (リビジョン 70) +++ /trunk/install/php/foltia_config2.php.template (リビジョン 83) @@ -17,5 +17,5 @@ $recfolderpath = '/home/foltia/php/tv'; //録画ファイルの保存先のパス。 $httpmediamappath = '/tv'; //ブラウザから見える録画ファイルのある位置。 - $recunits = '4'; //搭載エンコーダの数 + $recunits = '4'; //搭載アナログキャプチャカードチャンネル数 $protectmode = 0; //未使用:(ブラウザからの予約削除を禁止するなどの保護モードで動作します) @@ -24,4 +24,5 @@ $environmentpolicytoken = "";//環境ポリシーのパスワードに連結されるセキュリティコード $perltoolpath = $toolpath ;//perl版の初期設定の位置。デフォルトではphpと同じ位置 + $usedigital = 1;//Friioなどでデジタル録画をするか 1:する 0:しない // データベース接続設定 Index: /trunk/install/php/showplaylist.php =================================================================== --- /trunk/install/php/showplaylist.php (リビジョン 70) +++ /trunk/install/php/showplaylist.php (リビジョン 83) @@ -14,5 +14,5 @@ 省略時、録画順にソートされる。 titleのときに、番組順ソートされる。 - rawのときに、DBに記録されている番組録画情報ではなくディレクトリにあるm2pファイルを全て表示する。 + rawのときに、DBに記録されている番組録画情報ではなくディレクトリにあるm2p/m2tファイルを全て表示する。 DCC-JPL Japan/foltia project @@ -97,5 +97,5 @@ //旧仕様 if($list == "raw"){ -exec ("ls -t $recfolderpath/*.m2p", $m2pfiles); +exec ("ls -t $recfolderpath/*.m2?", $m2pfiles); @@ -106,5 +106,5 @@ if(($fName == ".") or ($fName == "..") ){ continue; } - if (ereg(".m2p", $fName)){ + if (ereg(".m2.+", $fName)){ $filesplit = split("-",$fName); @@ -230,5 +230,5 @@ } if (file_exists("./selectcaptureimage.php") ) { - $capimgpath = preg_replace("/.m2p/", "", $fName); + $capimgpath = preg_replace("/.m2.+/", "", $fName); print "
アナログ重複表示 | |
エンコーダ数 | =$recunits ?> |
チューナー重複 | 録画リスト | 画質 | +デジタル優先 | + @@ -385,7 +409,13 @@ //MP4 echo("mp4 | \n"); - + //画質(アナログビットレート) echo("".htmlspecialchars($rowdata[3])." | \n");
-
+ //デジタル優先
+ echo(""); + if (htmlspecialchars($rowdata[5]) == 1){ + print "する"; + }else{ + print "しない"; + } echo("\n"); }else{ @@ -395,5 +425,13 @@ | EPG録画 | mp4 | "; - echo("".htmlspecialchars($rowdata[3])." | \n");
+ echo("".htmlspecialchars($rowdata[3])." | ");
+ //デジタル優先
+ echo("");
+ if (htmlspecialchars($rowdata[5]) == 1){
+ print "する";
+ }else{
+ print "しない";
+ }
+ echo("\n");
}//if tid 0
}//for
Index: /trunk/install/php/index.php
===================================================================
--- /trunk/install/php/index.php (リビジョン 70)
+++ /trunk/install/php/index.php (リビジョン 83)
@@ -13,4 +13,5 @@
オプション
mode:"new"を指定すると、新番組(第1話)のみの表示となる。
+now:YmdHi形式で日付を指定するとその日からの番組表が表示される。
DCC-JPL Japan/foltia project
@@ -32,6 +33,8 @@
}//end if login
-$now = date("YmdHi");
-
+$now = getgetnumform(date);
+if(($now < 200001010000 ) || ($now > 209912342353 )){
+ $now = date("YmdHi");
+}
function printtitle(){
@@ -64,6 +67,7 @@
WHERE foltia_tvrecord.tid = foltia_program.tid
AND foltia_program.tid = foltia_subtitle.tid
-AND foltia_subtitle.enddatetime >= '$now'
- ORDER BY \"startdatetime\" ASC
+AND foltia_subtitle.enddatetime >= '$now'
+ORDER BY \"startdatetime\" ASC
+LIMIT 1000
";
$reservedrssametid = m_query($con, $query, "DBクエリに失敗しました");
@@ -112,5 +116,6 @@
LEFT OUTER JOIN foltia_station on (foltia_subtitle.stationid = foltia_station.stationid )
WHERE foltia_tvrecord.stationid = 0 AND
-foltia_subtitle.enddatetime >= '$now' ORDER BY \"startdatetime\" ASC
+foltia_subtitle.enddatetime >= '$now' ORDER BY \"startdatetime\" ASC
+LIMIT 1000
";
@@ -145,5 +150,6 @@
WHERE foltia_program.tid = foltia_subtitle.tid AND foltia_station.stationid = foltia_subtitle.stationid
AND foltia_subtitle.enddatetime >= '$now' AND foltia_subtitle.countno = '1'
-ORDER BY foltia_subtitle.startdatetime ASC
+ORDER BY foltia_subtitle.startdatetime ASC
+LIMIT 1000
";
$rs = m_query($con, $query, "DBクエリに失敗しました");
@@ -166,5 +172,6 @@
WHERE foltia_program.tid = foltia_subtitle.tid AND foltia_station.stationid = foltia_subtitle.stationid
AND foltia_subtitle.enddatetime >= '$now'
-ORDER BY foltia_subtitle.startdatetime ASC
+ORDER BY foltia_subtitle.startdatetime ASC
+LIMIT 1000
";
$rs = m_query($con, $query, "DBクエリに失敗しました");
Index: /trunk/install/php/showlib.php
===================================================================
--- /trunk/install/php/showlib.php (リビジョン 70)
+++ /trunk/install/php/showlib.php (リビジョン 83)
@@ -36,24 +36,43 @@
-
-
-
+
+
+
+
+";
+}else{
+print "
+
+";
+}
+?>
+";
+ printhtmlpageheader();
+print " 録画ライブラリ表示 ++ 再生可能ライブラリを表示します。
-
- 録画ライブラリ表示 -- 再生可能ライブラリを表示します。
|
---|