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 コメント:
コメントを投稿