Xiclodishインストール

動画メディアサーバ(cms?)であるXiclodishをインス
トールしてみた.我が家のデーモン君(FreeBSD7.0)に.
本家
http://code.google.com/p/xiclodish/

にあるように,
svn checkout http://xiclodish.googlecode.com/svn/trunk/ xiclodish-read-only
でOK.適当にDL.chronicとかいろいろ要求される
のでサクっとgemからインストール.DB回りの設定を
やったら,
rake migration

全部用意できたら,いつもの通り.
ruby ./script/server
で起動するんだけど,XiclodishはBackgrounDRbを使っ
ているので
ruby ./script/backgroundrb
も実行しとかなきゃならない.

それから,デフォルトではユーザ登録ができなくてニッチ
サッチもいかないので,データベースのsettingsテーブルで
設定.
update settings set allow_registration=1;
みたいな.まぁ,ActiveRecordからやるのが正道なのか,
なにかもっと違う方法があるのかは知らない

それで実行すると,"Sign Up"ってのが出るので,そこで登録.
ファイルのアップロードは,railsが稼働してるサーバのどこ
かに動画ファイルを置いといて"Add Movies"からパスを指定
すれば読み込んでくれる.

AddMoviesした瞬間はバックグラウンドで処理を行っている
ので動画はリストには表示されない.すこしたつと表示
されるようになる.それで,晴れて動画をブラウザ上
でみれるようになるのだが...

動画をplayするとしばらく待たされる.読み込んではいるし
railsのログにもエラーは出てない.んで,ソースを眺めてみ
た.

再生を司るplayback_controller.rbの,動画を投げてくれる
アクション convertのソースが以下.
def convert
$stdout.sync = true
m = Movie.find(params[:id])
#commands to execute ffmpeg.
command = "ffmpeg -i \"" + m.fileinfo.location + "/" + m.fileinfo.file_name + "\" -vcodec flv -f flv -b 256k -ar 44100 -ab 96k -"
f = IO.popen(command)
# Sends the data to the client instead of trying to make a view.
send_data(f.read,{:type => "application/x-flv", :filename => "steam.flv", :disposition => 'inline'})
end


そんなバカな.そりゃなかなか再生されない訳だ...
うちのデーモン君,C7で動いてるのに...
世の中これが常識なのかな...

Xiclodishはまぁ,そのままじゃ貧弱だからカスタ
ムするのがいいんだろうけど.正直萎えた.いくら
なんでも..

ということで,現在自前で動画メディアサーバ製作中.

0 コメント:

コメントを投稿