メディアのストリーミング再生
インストールが終わったら、とにかく再生してみたいですよね。そのために基本的なストリーミング設定をしていきます。まずはWowzaがどのようにディレクトリを管理しているかを確認します。
Wowzaは/usr/local/WowzaMediaServerPro(/usr/local/WowzaMediaServerPro-x.x.xへのシンボリックリンク)にサーバー本体がインストールされ、サービスも/etc/init.d/からコントロールできます。基本的にはインストールディレクトリである/usr/local/WowzaMediaServerProに格納されているファイルをカスタマイズしていくことになります。
設定ファイルのほとんどがXMLで管理されており、もちろんrootで変更します。以下はディレクトリの構成表です。
/usr/local/WowzaMediaServerPro(/usr/local/WowzaMediaServerPro-x.x.x) | |
---|---|
applications | ストリーミングの種類に応じたWowzaのアプリケーション(ストリームタイプ)を格納します。 |
bin | Wowzaの起動や停止、設定を行うためのシェルスクリプトが格納されています。 |
conf | Wowzaのバーチャルホスト(デフォルトのホストも含む)やサーバーの設定ファイル、ライセンスファイルが格納されています。 |
content |
デフォルトのWowzaホストが利用する再生メディアの格納ディレクトリ。 |
documentation | Wowzaに関するドキュメント(説明書など)が格納されています。 |
examples |
サンプルのストリームタイプのインストールファイル(シェルスクリプト)が格納されています。 |
lib | Wowzaの.jarファイルが格納されています。 |
logs | Wowza全体のログが格納されます。 |
今回テストするのはFLVを再生するためのシンプルな仕組みである「SimpleVideoStreaming」を使用します。examplesの中のSimpleVideoStreamingの中の「install.sh」を実行します。
# /usr/local/WowzaMediaServerPro/examples/SimpleVideoStreaming/install.sh
すると、/usr/local/WowzaMediaServerPro/applications/の直下に「simplevideostreaming」というディレクトリが作成されます。中身は空ですが、このディレクトリの存在自体に意味があるのでこれでかまいません。これでひとまずWowzaを再起動しましょう。
# /etc/init.d/WowzaMediaServerPro restart
いよいよです。再度確認ですが、WowzaはFlash Mediaに対応したサーバーです。これにはActionscriptでConnectionクラスを生成して、SWFをWowzaに接続しなければなりません。端的にいうと一筋縄ではいかないということです。作りこもうとすると結構大変です。なので出来合いで行きましょう。世の中にはJW PlayerとFlowplayerというプレイヤーがあります。フリーユースも可能です。
ひとまずJW Playerをダウンロードして、解凍しましょう。中身はこんな感じなっていると思います。
- player.swf
- preview.jpg
- readme.html
- swfobject.js
- video.flv
- yt.swf
メディアファイルであるvideo.flvを/usr/local/WowzaMediaServerPro/content/以下にアップロードします。ウェブサーバーの公開ディレクトリに以下の構成でファイルをアップロードします。index.htmlはその下のコードを貼り付けておいてください。
- index.html
- player.swf
- swfobject.js
index.html
<html> <head> <title>TEST PAGE</title> <script type="text/javascript" src="/swfobject.js"></script> </head> <body> <div id="player"></div> <script type="text/javascript"> var so = new SWFObject('player.swf','mpl','470','320','9'); so.addParam('allowscriptaccess','always'); so.addParam('allowfullscreen','true'); so.addParam('flashvars','file=video.flv&streamer=rtmpe://[ip-address]/simplevideostreaming'); so.write('player'); </script> </body> </html>
それではお待ちかね。アクセスして再生してみてください。どうですか、再生できましたか?
でもこれでは本当に再生されてるか不安なところです。なので、コンソールでリアルタイムにログを確認しながら再生されているかどうかを確認します。
# tail -f /usr/local/WowzaMediaServerPro/logs/wowzamediaserverpro_access.log
例えば再生できない場合はどうするのか。「file not found」とプレイヤーにでる場合は再生するメディアが適切なディレクトリにないとかファイル名の指定方法が間違っているとかが考えられます。「server not found」はサーバーのIPアドレス、ポート番号(後述)、ストリームタイプが適切でない可能性があります。何はともあれ、上のコマンドを実行しながら確認すれば、原因もすぐわかるでしょう。