差分表示

  • 最後の更新で追加された行はこのように表示します。
  • 最後の更新で削除された行はこのように表示します。

#contents

*debianでのインストール

素直にRPMが使えなくてなかなか面倒。

まずここで準備
http://www.linux-m32r.org/pipermail/linux-m32r-ja/2005-December/000192.html

ここに従いrebuild&install
http://linux.matchy.net/FedoraGV-MVPRX.html
http://linux.matchy.net/RpmBuild.html

 sudo rpmbuild --rebuild --nodeps SRPMS/perl-Video-Frequencies-0.03-matchy1.nosrc.rpm
 sudo alien -i perl-Video-Frequencies-0.03-matchy1.noarch.rpm
以下同じ
perl-tkはうまくいかないので、aptitudeで入れる

**音声早回し対策
ivtv入れる前にカーネルパッチを当てる。
ここをmake modules_installでぐぐればわかる
http://linux.paken.org/index.php?CX23416GYC-STVLP%A4%CE%B2%F2%C0%CF

---(
sudo aptitude -s install linux-source
[nickle@misumi 07-04-10 21:40:20 /usr/src]% sudo tar xjf linux-source-2.6.18.tar.bz2
[nickle@misumi 07-04-10 21:41:34 /usr/src/linux-source-2.6.18/drivers/media/video]% cat ~/gv_saa7115_2.6.18-4-686.patch | patch
[nickle@misumi 07-04-10 21:52:22 /usr/src/linux-source-2.6.18]% sudo cp /boot/config-2.6.18-4-686 ./.config
[nickle@misumi 07-04-10 21:53:10 /usr/src/linux-source-2.6.18]% sudo make oldconfig
[nickle@misumi 07-04-10 21:53:10 /usr/src/linux-source-2.6.18]% sudo aptitude install kernel-package
[nickle@misumi 07-04-11 0:23:03 /usr/src/linux-source-2.6.18]% sudo make-kpkg --initrd --revision saa7115.patch kernel-image
$ sudo dpkg -i linux-image-2.6.18_saa7115.patch_i386.deb
---)

**ivtvのコンパイル
rpmbuildがうまくいかない。むぅ。
ここを見ながら全手動でやる
http://fedorasrv.com/ivtv-0.8.shtml

make時は、
 make KDIR=/usr/src/linux-headers-2.6.18-4-686
 sudo make KDIR=/usr/src/linux-headers-2.6.18-4-686 install
自分でカーネル再構築したならKDIRは不要

modprobe.confがないので新しいファイルを作る
参考: http://debian.fam.cx/index.php?Software%2FLinuxKernel#q993a083
 nickle@misumi:~/foltia$ sudo vi /etc/modprobe.d/ivtv
 options ivtv tuner=46 ntsc=j

**キャプチャツールの準備
.ivtvrcは~foltia/に作る
 foltia@misumi:~$ record-v4l2.pl --version
 Auto Creating config file /home/foltia/.ivtvrc...
 record-v4l2.pl 1.33 for use with http://ivtv.sf.net/
 foltia@misumi:~$

foltiaにパーミッションをあげる
 sudo vi /etc/group
 video:x:44:nickle,foltia
**PostgreSQL
 nickle@misumi:~$ sudo su postgres
 
 postgres@misumi:/home/nickle$ createuser foltia
 Shall the new user be allowed to create databases? (y/n) n
 Shall the new user be allowed to create more new users? (y/n) n
 CREATE USER
 
 postgres@misumi:/home/nickle$ createdb --encoding EUC_JP foltia
 CREATE DATABASE
 
 postgres@misumi:/home/nickle$ psql foltia -c "alter user foltia password 'xxxx'
 ALTER USER
 
 foltia@misumi:~/foltia-BETA16-r45/install$ psql foltia --file mktable.txt
** perlモジュール

インストールチェック
 perl -MTime::HiRes -e 'print $Time::HiRes::VERSION . "\n"'
 perl -MSchedule::At -e 'print $Schedule::At::VERSION . "\n"'
 perl -MDBD::Pg -e 'print $DBD::Pg::VERSION . "\n"'
 perl -MJcode -e 'print $Jcode::VERSION . "\n"'

中2つがなかった

DBDにはDBIが必要。入れる
さらに、これも必要
 aptitude install postgresql-dev

** apache2
 $ sudo aptitude install php5 php5-pgsql

$ sudo vi /etc/apache2/sites-enabled/000-default

    Alias /foltia/ "/home/foltia/php/"
    <Directory "/home/foltia/php/">
    </Directory>
 
    Alias /tv/ "/home/data/foltia/"
    <Directory "/home/data/foltia/">
    </Directory>

**ffmpeg
先にfaacとfaadが必要っぽい
http://www.ironhearts.com/diary/archives/001453.html
http://www.ironhearts.com/diary/archives/2007/02/faadoeeeaa.html

faadはコンパイルエラーになるので該当箇所の"static"を消せば通る

liba52も
http://journal.mycom.co.jp/column/osx/152/

x264は最新版が必要(インストール時はrev 648)
http://www.videolan.org/developers/x264.html

lameも。
http://debian.8ware.com/content/blogcategory/21/64/
最後の行だけは
 $ sudo dpkg -i ../lame_3.97-8_i386.deb ../libmp3lame0_3.97-8_i386.deb ../libmp3lame0-dev_3.97-8_i386.deb

amr-なんとかとxvidはめんどいので外す
 foltia@misumi:~/ffmpeg$ ./configure --enable-mp3lame --enable-x264 --enable-gpl --enable-a52 --enable-faac --enable-faad --enable-pthreads
** mp4psp
SDLがいるらしい
http://mitsu.air-nifty.com/blog/2005/01/itunesaac.html
 $ wget http://www.libsdl.org/release/SDL-1.2.11.tar.gz
これでもいいかも
 $ sudo aptitude install libsdl-dev

まだコンパイルが通らない(-Werrorのせい)
なのでconfigure開いて :%s/-Werror//

あと、
 CFLAGS=-I/usr/local/include/SDL ./configure

さらにこの中も-Werrorを消す
 vi lib/rtp/Makefile

…いいのかなこれで

でもって
 vi lib/SDLAudio/src/audio/SDL_audio.c

まだエラー出るよ。もう疲れた。やめだ
** foltia本体
tvrecording.pl内も、Error calling setCodecInfo()! 周りをコメントアウト
 foltia@misumi:~/perl$ vi tvrecording.pl

Postgresに設定したfoltiaのパスワードを、perl/foltialib.pl, php/foltia_config2.phpに書き込む

index.phpでin_arrayの型でwarningが出るので適当に直す

そのままでは選局がうまくいかないのでパッチ(内容はdiff参照)
 foltia@misumi:~/perl$ vi tvrecording.pl

あと、cron_foltia_dayly.shもコンフィグファイル名が空欄になってて正しく動かないのでパッチ
***foltia_station
なんかONTVのNHK2局の局コードが新しくなったようなので、ontvcodeをそれに合わせて書き換え
  <channel id="0333.ontvjapan.com">
    <display-name lang="en">NHK</display-name>
  <channel id="0343.ontvjapan.com">
    <display-name lang="en">ETV</display-name>

ついでにNHK-BS, WOWOWあたりのontvcodeも登録

*運用

**時間帯が連続した場合、後ろ番組の頭が切れる

チューナー止めるのに時間がかかるのかね?
調べてみたら、lsofが作者さんと違う場所にあってエラーになってたみたい。
修正したらちゃんと動いた。

ちなみに、起動シーケンス
-1分前にtvrecording.pl起動
-デフォルトのスリープ時間は37秒
-ちょっとスリープする。デフォルトの時間は37秒
--ただし、これからチャンネル番号を引いた時間だけ実際にスリープされる
--複数プロセス同時起動によるレースコンディションの回避と思われ
-時間帯を連続させて実験
--後番組(1チャンネル)は放送16秒前から録画されてた
--(37-1)秒 + 8秒 + 16秒 = 1分ということで、プロセスの停止には8秒かかってる
--結構長いな。でもまあ大丈夫でしょ
-その後、既存プロセスをkillして録画開始

時間帯を連続させて実験
-後番組(1チャンネル)は放送16秒前から録画されてた
-(37-1)秒 + 8秒 + 16秒 = 1分ということで、プロセスの停止には8秒かかってる
-結構長いな。でもまあ大丈夫でしょ