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/>に掲載していきます。
・謝辞
以下の数々のサイトを利用、参考にさせていただいております。改めましてお礼申し上げます。