2011年5月25日水曜日

xuggleを再度やってみる。

@wikiの方の記事には昔書きましたが、xuggleにそろそろまた手をだしたいと思います。
Red5のRTMPClientのpublish処理がまともに動きますからね。
いろいろとできるはず。

ただし、xuggle....いろんな問題をはらんでます。
コンパイルがとおらなかったり、以前ためしたときにはh264のエンコードが微妙だったり、faacの扱いがあるのかないのかわからなかったり、動作させるときに設定パラメータ大杉だったりと・・・

ま、とりあえずインストールですね。
まずは、yasmを入手します。一部のコンパイルで必要ですから。
http://www.tortall.net/projects/yasm/wiki/Download
こちらからtarballを入手して、configure make make installの3点セット
xuggleのbuild.xmlの設定を解析していないので、インストールせずにコンパイルを通す方法はわかりません。
なお、tarballのソースコードを入手すれば、configureがちゃんと入ってますが開発版のyasmを入手したところ、configureがなく動作させることができませんでした。

次にxuggle本体です。
http://xuggle.googlecode.com
こちらにいって、ソースからsvnをつかってダウンロードしました。
今回インストールしたいのは、xuggle-xugglerなので、
svnで落としたディレクトリ/java/xuggle-xugglerに移動して、antを実行しコンパイルを進めました。
一応動作確認も実行するant run-testsというコマンドもあるのですが、今回はただのantにしておきました。
ant run-testsやってみましたがやっぱりfaacでこけますね。

xuggleの設定してるテストが現状のffmpegに適合してないっぽい。
faacそのものが動作するかはあとで調べないとだめですね。

あと、前はコンパイルするとxuggle/java/xuggle-xuggler/dist/stage/usr/local/xuggle/....
という形でディレクトリが生成されていたのですがxuggleというディレクトリがなくなっているようです。
ant installを実行すると/usr以下の部分がPCの/usr以下にコピーするように動作するので、この部分書き直したほうがいいと思う。
このままインストールするとどこまでがxuggleかわからないので、現状のままほっといて以下のパスを環境変数に設定しておきました。

export XUGGLE_HOME=/Users/xxxxx/xuggletest/xuggle/java/xuggler-xuggler/dist/stage/usr/local
export PATH=$XUGGLE_HOME/bin:$PATH
export DYLD_LIBRARY_PATH=$XUGGLE_HOME/lib:$LD_LIBRARY_PATH
(DYLD_LIBRARY_PATHがまちがってたっぽいので修正Macの場合はこうするべき。)

とりあえずこれで目標達成。
あとで適当にflvファイルをコピーするプログラムでも書こうと思います。

0 件のコメント:

コメントを投稿