Weblog

2009.12.09: HandBrake TS iPhone 変換

生TS ファイルから iPhone 向けの mp4 (H264+AAC) ファイルが音ずれする。264 と AAC を分離して MP4Box で合体させてもダメぽい。そこで、Windows で DVD を iPhone に変換する時にお世話になった HandBrake をソースからコンパイルして linux で使うことを思いついた。CentOS 5.4 上で 生TS から iPhone に一発変換ができたのでアップします。

事前準備


HandBrake の linux 上のコンパイルは本家のこちらを参考にした。Fedora も CentOS でもそう変わらないだろうと適当に考えて Frdora の手順で行く。
sudo yum groupinstall \
"Development Tools" \
"Development Libraries" \
"X Software Development" \
"GNOME Software Development"
まぁ余計なものも沢山入るけど仕方が無いね。

コンパイル


subversion でソースを取って来ます。開発場所に移動してから
svn co svn://svn.handbrake.fr/HandBrake/trunk HandBrake-source
実はこのまま make をすると gtk 関係のコンパイルのところで /usr/include/value.h でエラーを吐いて止まります。まぁ調べてもいいんだけど、面倒だしGUIは使わないので make する前に gtk オフでコンフィグレーションします。
cd HandBrake-source
./configure --launch --disable-gtk
cd build
make
sudo make install
終わると、たぶん /usr/local/bin に HandBrakeCLI が出来上がっています。使うライブラリーを全部1つのオブジェクトにまとめてあるので 12MB もあります (^-^;)

TS -> iPhone 変換


変換はコマンドラインから
HandBrakeCLI -i <INPUT> -o <OUTPUT> --preset="iPhone & iPod Touch"
セグメンテーション違反で止まったら、tss.py などで 生TS ファイルを洗ってから実行してみて下さい。

本家Linuxビルド資料
本家HandBrakeCLI使い方

キーワード: HandBrake IPhone TS linux centos

2009.12.09: TS 音ずれ 対策

生 MPEG2-TS ファイルの 音ずれ 対策
ffmpeg や mencoder で iPhone 向けに H264 & AAC でエンコードすると 音ずれ が発生する。趣向を変えて mencoder の lavc で asf ファイルを作ってみると微妙に改善される。しかも、ダウンロードしながら再生してくれるので、これはこれで良しなのだが、ちょっと違うな。

mencoder <infile> -o <outfile> \
-of lavf -lavfopts format=asf \
-vf scale=480:-10,harddup \
-oac lavc -lavcopts acodec=wmav2:abitrate=128 \
-ovc lavc -lavcopts vcodec=wmv2:vbitrate=768


キーワード: TS 音ずれ ダウンロード再生 asf mencoder

2009.12.09: 録画済み番組の削除時にサムネイル画像も消す

素敵なソフト epgrec をありがとうございます。
録画済みの番組一覧から番組を削除した時に、サムネイル画像があればそれもゴミにならないように手を加えてみました。
epgrec フォルダ内の cancelReservation.php に手を加えます。
この部分を
 $program_id = $rec->program_id; 

下の通りに行を追加します。
 $program_id = $rec->program_id; 

 // サムネイル画像も忘れずに消します
 if ($settings->use_thumbs) { 
 @unlink(INSTALL_PATH."/".$settings->thumbs."/".$rec->path.".jpg"); 
 } 
これで、ゴミ画像も残らずにすっきりです。
なお、本家には伝えてあります。
キーワード: epgrec