2011年07月19日

CPANインストール時のエラー

CPANインストールでエラーが出たので対応策をメモ

■ 環境
CentOS5.6

CPANでモジュールをインストールしようとしたら謎なエラーが発生。
Checking if your kit is complete...
Looks good
Writing Makefile for Authen::SASL
Can't locate object method "new" via package "CPAN::Meta" at /usr/lib/perl5/5.8.8/ExtUtils/MM_Any.pm line 1273.

ググってもさっぱり出てこねぇ…。

とりあえずここに書いてあった「CPAN::Metaを探して、消すかバックアップしてから再インストールしろ」というのを試した。

/usr/lib/perl5/5.8.8/CPAN に Meta というディレクトリと Meta.pm というファイルがあるので、mvした。
# mv Meta Meta.bk
# mv Meta.pm Meta.pm.bk
その後、cpanを起動してCPAN::Metaをインストール。
# cpan

cpan shell -- CPAN exploration and modules installation (v1.7602)
ReadLine support enabled

cpan> install CPAN::Meta
次にまた Authen::SASL をインストール。
cpan> install Authen::SASL
すんなり入った…。

オレの半日を返せ!


タグ:Perl CPAN
posted by まきすけ at 13:40 | Comment(0) | TrackBack(0) | Linuxとか

2011年07月15日

オープンソース動画配信サーバ red5を試す

Javaでつくられた動画配信サーバがあるということで試してみた。
きっかけはお客さんから「なんか動画配信できるサーバないかな?」と聞かれたので、ちょっと調べるついでに立ててみた。

Flash Media Server互換のフリーストリーミングサーバらしいが、Flashの機能を生かしてチャットとかもできるらしい。

■ 環境
OS:CentOS5.6
red5 server 0.9.1

■ インストール
サーバにJava1.6をインストール
yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel


http://www.red5.org/red5-server/ から red5のtarballをダウンロード

サーバ上でred5のtarballを解凍

以上で終了。

■ 起動
tarballを解凍したディレクトリからコマンド実行
# ./red5.sh &


■ 停止
コマンド実行
# ./red5-shutdown.sh &


iptablesを使っている場合は、TCP/1395とTCP/5080を開放しておく。

■ デモアプリ
http://[サーバのアドレス]:5080/ へアクセスすると、red5のページが開く。

デモ動画は最初から入っていないので、別途インストールする必要アリ。
サーバのトップページ中ほどに「Install a ready-made application」というリンクがあるのでクリック。
一番上の「oflaDemo」をイントールする。

Installボタンを押して一晩たっても終っていなかったが…インストールはされていたw

またトップページから「Launch a demo」>「OFLA Demo」へと進む。
砂嵐のデモ画面が開くので、右上のテキストボックスのアドレスを変更して「connect」を押す。
 「rtmp://localhost/oflaDemo」>「rtmp://192.168.0.1/oflaDemo」 など

そうすると動画の一覧が表示されるので、クリックすると動画再生が始まる。

このデモ動画はすべてflvなので、試しにH.264の動画を落として入れてみた。
動画を入れる場所は [red5インストールディレクトリ]/webapps/oflaDemo/streams/

動画を配置したら、disconnect>connect で接続し直すと一覧に表示される。


■ JW Player 5 で表示する

このデモ画面のままだとカッコ悪いし、音量もスライダーも無いので、フリーのJW Playerで動画を再生する。
http://www.longtailvideo.com/players/

解凍したフォルダをWebサーバにアップロードしておく。

サンプルのHTMLを以下のように編集すると、普通のプレイヤーっぽく表示される。

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html xmlns="http://www.w3.org/1999/xhtml">
<body>
<script type='text/javascript' src='swfobject.js'></script>
<div id='preview'>This div will be replaced</div>
<script type='text/javascript'>
var s1 = new SWFObject('player.swf','ply','570','320','9','#ffffff');
s1.addParam('allowfullscreen','true');
s1.addParam('allowscriptaccess','always');
s1.addParam('wmode','opaque');
s1.addVariable('id','ply');
// s1.addVariable('backcolor','3333FF');
// s1.addVariable('lightcolor','00CC00');
s1.addVariable('screencolor','000000');
s1.addVariable('icons','false');
s1.addVariable('dock','true');
s1.addVariable('displayclick','fullscreen');
s1.addVariable('file', 'hogehoge.mp4');
s1.addVariable('streamer', 'rtmp://192.168.0.1/oflaDemo');
s1.addVariable('type', 'rtmp');
s1.write('preview');
</script>

</body>
</html>


プレイリストにしたとき、プレビューを自動で表示する方法がよくわからない…。

あと、0.9.1だとh.264の再生が遅い、カクカクすることがあるが、RC1だと速くなっているという情報もある。暇なとき確認してみようかな。

続きを読む

posted by まきすけ at 19:08 | Comment(0) | TrackBack(0) | Linuxとか