April 29, 2009

HandBrakeのビルド用パッチ

iPodなどの携帯プレーヤ買いたいと思ったのが半年前で、なかなか踏ん切りがつかず月日が流れていったのですが、この度ようやくiPod touchを購入しました。Apple storeに行って弄ったのがきっかけで、マルチタッチに感動しつつ、これで自分のアプリを作れば楽しいに違いないと感じた次第です。
どうやら新製品が投入されるとの噂もあるようですが、潮流がえらく速い電気モノは、欲しいと思ったときが買い時なのは間違いないので、購入に踏み切りました。買ったのはApple純正の整備済製品(新品同等、但し1世代古い)というもので32GBモデル 33,800円(現行品の定価に比べると1万円程度安い)でした。購入時から1世代古ければ新製品でてもそれほど悔しくない、っていう心理も働いています(笑)。

アプリも作ってやる、ということで買ったiPod touchは現在、全力で動画プレーヤとして活躍しています(笑)。ひたすらDVDやらフラッシュファイルといった映像ソースをエンコードしまくってはiPod touchに入れて見ています。携帯を換えずにワンセグと縁がないまま今まできてしまった僕からすると、動画が外で見られることにかなり衝撃を受けて嵌ってしまいました。iPodで動く銀塩カメラのサポートツール(F値とかシャッタースピードなどの露出を記録したい)を作りたいと考えているのですが、開発は当分先送りされそうです。

ようやく本題です。iPodに動画をいれるにあたって利用しているエンコードソフトは、タイトルにあるHandBrakeというソフトを利用しています。無償であること(ソースも公開されている)、DVDディスクとファイルの両方から動画をエンコードできること、iPod用の設定が元々あるので変換が簡単なこと、コマンドラインからも操作できること(まとめて処理したいときはGUIよりもCLIが便利)、これらの点を気に入って使っています。
しかしながら使っていて気づいたのは、この記事を書いている時点での現行のバージョン0.9.3ではwmv(Windows Media Video)を正しく読み込めず、スタックダンプをしてしまうようでした。0.9.3は昨年にリリースされたバージョンのようなので、デコーダ、エンコーダ等の依存ライブラリを最新のものに変更した上で、ソースからビルドすれば状況が変わるかも、と思い試してみました。

HandBrakeのソースを眺めたところ、入力部分はffmpegが提供しているlibavcodecに依存しているようです。この部分を最新にした上でビルドをしてみました。おおまかなビルド方法はHandBrakeのWikiに書いてありますが、残念ながらこのままではうまくいかなかったので細かい修正を重ねつつビルドを成功させました。修正点をまとめたパッチ handbrake-0.9.3.patchをおいておきます。使い方はjam等の必須ツールを入れた後、HandBrakeのmakeを実行する直前でパッチを適用してください。

新しくビルドしたHandBrakeではwmvも正常に扱えており、目論見はあたっていたようです。これで快適なiPod生活を続けられます。

18:00 fenrir が投稿 : 固定リンク | | このエントリーを含むはてなブックマーク | この記事をdel.icio.usでブックマーク | トラックバック
このエントリーのトラックバックURL: http://fenrir.naruoka.org/mt/mt-tb.cgi/698
コメント
コメントする









名前、アドレスを登録しますか?
(次回以降コメント入力が楽になります)
  • 匿名でのコメントは受け付けておりません。
  • 名前(ハンドル名可)とメールアドレスは必ず入力してください。
  • メールアドレスを表示されたくないときはURLも必ず記入してください。
  • コメント欄でHTMLタグは使用できません。
  • コメント本文に日本語(全角文字)がある程度多く含まれている必要があります。
  • コメント欄内のURLと思われる文字列は自動的にリンクに変換されます。