ストリーミングサーバを改修

ストリーミングサーバに出ていた Server not found errorを改修すべくCPUを取り替えてあります。
若干は改善されたものとおもいます。
本体は、Dell PowerEdge SC430 なんでこれ以上はCPU(Pentium D 2.8→3.4GHz)を改善は出来ない状態。そんなに稼働率が高くないのにハイスペックが必要なのがストリーミングサーバということなのでしょう。ひとむかし前のCPUであるPentiumDを捜すのも時代に逆行しているかの錯覚を覚えます。
PowerEdgeSC430ってXeonがのらないってんだから困っちゃうね。
ま、少なくとも私のPCからアクセスする分にはエラーが出なくなりました。
稼働率が上がったら、クラウド化しますのでそれまではこの状態で行こうと思います。
現在のシステムモニタは]はこんな状態です。
NetworkHistoryはストリーミング配信をしますとこういう鋸の歯のような波形を示します。
Memoryには、殆んど影響がなく、CPU負荷が改善されています。CPUの取替え前は、接続時に100%まで達していましたから改善されたことがわかると思います。

ubuntuにWowzaMediaServerをインストール(1)

WowzaMediaServerの再インストール
WowzaMediaServer・ストリーミングサーバHDDの破壊から復旧までの記録
仙人温泉に小屋開けに出かけている最中にサーバ一台が死亡した。正確に言うと完全にダウンした状態ではなかったが時々ガー、ガーと機械的異音を発していたので妻も異状に気付いて電話してきた。帰って立ち上げ直すと全く立ち上がらなくなった。HDDの障害であることは明らかだったので予備に置いておいたHDDを付けて再インストールすることにした。RAIDならというところだがRAIDは構成していなかった。つまり他人のデータが載っている訳ではないのでそこまでする必要はないだろうとのかんがえだったのだ。ところが結構込み入った設定をしていたため完全には元に戻らなくなった。どこにどんな設定をしたかを覚えていないのだ。

とりあえず、WowzaMediaServerで配信するところまでを急いで行ったのだが、ここまででも思い出しながらだと半日以上かかったので今後はインストール記録を残しておくことにする。

WowzaMediaServerのインストールと言うことで一応公開してもいいかと思い、公開することにしました。
作業順に書いてあります。参考になる方がいましたら幸いです。
手順毎の詳しい説明は省いてあります。

ubuntu 10.04 Server をCDからインストールした後の処理 2011.6.28
もうすこし丁寧に書いておきたいと思います。2011.7.24


(CUI 環境からGUIの導入)

ichibanboshi@papillon-ag:~$ sudo apt-get install ubuntu-desktop デスクトップ環境インストール

ichibanboshi@papillon-ag:~$ sudo apt-get install ubuntu-desktop-ja 日本語環境のインストール

ichibanboshi@papillon-ag:~$ sudo apt-get upgrade  アップグレード

ichibanboshi@papillon-ag:~$ sudo passwd root  rootでログインを可能にする。WowzaMediaServerはインストールにroot権限が必要なため。

ichibanboshi@papillon-ag:~$ sudo apt-get install ibus-mozc   日本語入力環境のインストール


/ubuntu serverのディストリビューショングレードを11.04に上げる。その際にリポジトリーファイルが破壊された。/

ichibanboshi@papillon-ag:~$ sudo apt-get install -f  破壊されたリポジトリの修復


/root権限で実行/

root@papillon-ag:~# /etc/init.d/vsftpd restart  /etc/vsftpd.confを書き替えて再スタート

root@papillon-ag:~# ifdown eth0;ifup eth0   /etc/network/interfacesの書き換えに伴う再スタート

   interfacesファイルの書き替えよりもルータにてMACアドレスを指定してアドレス設定した方が簡単。 つまり、サーバー側ではautoにしておく。


/apache2の設定/

root@papillon-ag:~# cd /etc/apache2/

root@papillon-ag:~# cp ./sites-available/default ./sites-available/papillon-ag   defaultファイルをpapillon-agにコピー、コピーした内容を書き変える。

root@papillon-ag:~# a2ensite papillon-ag    papillon-agを有効にする。

root@papillon-ag:~# a2dissite   defaultを無効化する。

root@papillon-ag:~# /etc/init.d/apache2 reload  ファイルのリロード

root@papillon-ag:~# /etc/init.d/apache2 restart  apache2の再スタート

root@papillon-ag:~# /etc/init.d/apache2 reload  papillon-agの設定ファイルを書き加えてリロード(管理サイトを設定)

root@papillon-ag:~# /etc/init.d/apache2 restart  apache2の再スタート


/WowzaMediaServerのインストール/

WowzaMediaServerのインストールはroot権限が必要である。

実際にはwebサーバ(apache2)が動作していることが前提条件、そうでないとインターネットで配信できない。

よって、apache2のインストールを先に行う。


root@papillon-ag:~# apt-get install sun-java6-jdk  まず、インストール前にJAVAをインストールしておく。リポジトリを追加しないとインストール出来ない場合がある。

root@papillon-ag:~# cd Downloads  WowzaMediaServerをダウンロードしてダウンロードしたディレクトリに移動

root@papillon-ag:~# chmod +x WowzaMediaServer-2.2.4.deb.bin  実行権限を与える。

root@papillon-ag:~# ./WowzaMediaServer-2.2.4.deb.bin  インストール。

root@papillon-ag:~# cd /usr/local/WowzaMediaServer/bin  インストールされたbinに移動する。

root@papillon-ag:~# ./startup.sh   使用ライセンスキーの入力を行う。

   JAVAがインストールされていないとストップする、と知っててもやっちゃうんだよね。


/テストする/

root@papillon-ag:~# cd /usr/local/WowzaMediaServer-2.2.4/examples   サンプルエリアにてテストする。

root@papillon-ag:~# ./installall.sh 

root@papillon-ag:~# cd SimpleVideoStreaming

root@papillon-ag:~# ./install.sh  サンプルエリアにあるテスト用htmlを立ち上げると起動していることを確認する。

ここまで行った段階で、PCからインターネット経由でテストする。


/実行エリアの作成/

root@papillon-ag:~# cd applications  アプリケーションエリアに移り、新しいフォルダを作成する。

root@papillon-ag:~# mkdir simplevideostreaming   この場合は simplevideostreamingを作成する。


/Serviceに登録し自動実行/

root@papillon-ag:~# apt-get install sysv-rc-conf    テストが上手くいった段階でサービス制御ユーティリティのインストール

root@papillon-ag:~# sysv-rc-conf    サービス制御ユーティリティの起動
                   WowzaMediaServerを2345で自動起動するようにセット、ubuntuはchkconfigが使えない。

とりあえずこれでオンデマンドストリーミング用データを[install-dir]/content/に載せるとストリーミングサーバとして機能する。
しかし、これはディフォルトの設定であり、ユーザエリア内にコンテンツデータを置きたい場合には次のように設定する。


/コンテンツ置き場設定(ゆーざーえりあ)/

①まず、

root@papillon-ag:~# cd /usr/local/WowzaMediaServer-2.2.4/aplications アプリケーションエリアに移る。

ストリーミングに使用する名前を決めて、ディレクトリーを作る。

root@papillon-ag:~# mkdir katsuno_tv とする。(aplicationsディレクトリー内でっせ!)

②次にコンフィギュレーション・デイレクトリーに移って

root@papillon-ag:~# cd /usr/local/WowzaMediaServer-2.2.4/conf として、上で作ったアプリケーション名と同じ名前のディレクトリーをconf内に作る。

root@papillon-ag:~# mkdir katsuno_tv (confディレクトリー内でっせ!)

つづいて、confディレクトリーにディフォルトで置いてある、Aplication.xmlファイルを、今作ったディレクトリーにコピーしてその内容を自分のサーバーのユーザエリア用に書き換える。

書き換える箇所は一箇所でいい。


default
${com.wowza.wms.context.VHostConfigHome}/content
${com.wowza.wms.context.VHostConfigHome}/keys




赤字の箇所を実際にコンテンツを置きたいデイレクトリーを指定してやる。
書き換えるとこうだ。


default
/home/katsuno/katsuno_tv/content
${com.wowza.wms.context.VHostConfigHome}/keys




これでWowzaMediaServerをリスタートしてやる。

root@papillon-ag:~# /etc/init.d/WowzaMediaServer restart

このコンテンツを置く場所はどこでもいいんだけどブラウザで直接アクセス出来ない場所がいいね。public_htmlとかhtdocsの下に置いてたら、直接コンテンツにアクセスがあったらプログレッシブのダウンロードを起こす。つまりwebコンテンツとは切り離しておく。
これで一通りOKです。

/ストリーミングプレーヤーについて/
WowzaMediaServerについてくるプレーヤーを先ず試してサーバーが正常に稼動するかチェックする。
こんな感じ再生できる。

コンテンツの設定は画面上から可能となっている。
ストリーミング用のプレーヤーの代表は、jwplayer、flowplayerの二つだろう。
どちらもプラグインが豊富にある。
設定方法については、それぞれのサイトに詳しく記載されています。
商用以外はただですね。

先ほどのkatsuno_tvにコンテンツを載せて、jwplayerで設定するのは次のようになる。

'file': 'sample.mp4',(コンテンツのファイル名)
'streamer': 'rtmp://papillon-ag.homeip.net/katsuno_tv',(アプリケーション名、ディレクトリ名でない事に注意)

詳しくはjwplayerのサイトをご覧になって下さい。
こちらに私のサイトのサンプルを置いておきます。いずれ削除いたします。

WowzaMediaServerのマニュアルは非常に親切に書かれています。
ユーザーズガイドも素晴らしいと思いますね。

当サイトのコンテンツを見るには、・・・

当サイトのコンテンツの幾つかが見れないと言う苦情がありましたので簡単な解説をしておきます。
特別おかしな設定はしてありませんが、3台のサーバをコンテンツ種類によって使い分けて、サイトを構成しています。

  1. 台目、一般的なWebデータ(Htmlファイル)とデータベース(MySQL)があります。
  2. 台目、掲載中のVideoデータ(WMV)があります。現在約30Gbyteあります。
  3. 台目、ストリーミングサーバ(オンデマンドストリーミングデータ)があります。

リンク切れについては、更新時に手動でチェックをしています。こんなフリーソフトを使ってチェックしてます。
しかし、外部からのリンクは一切考慮しないで、改定・更新を行いますのでリンク切れがたびたび起こるようです。その際はトップページからリンクを辿ってご覧になって下さい。また、外部からリンクを貼っていただくのはうれしいのですが、直にページに貼られるとリンク切れが起こることになりますわね。
外部からのリンク切れ、file not found (404error)についても時々チェックはしていますが、一切対応はいたしません。

当サイトのコンテンツを見るには次のソフトをインストールしておく必要があります。
(Windows & MacOSの場合)

  1. Adobe Flash Playerこちらからダウンロードしてインストール
  2. WindowsMediaPlayerこちらからWindowsのバージョンにあったものをダウンロードしてインストール
  3. Javaこちらから最新版をダウンロードしてインストールして下さい。

※InternetExplorerだけでなく、Firefox、GolgleChromeでも同じですね。

問題はLinux版のブラウザでの閲覧です。UbuntuFedoraDebian、・・とディストリビューションがいっぱいあります。
Linuxを使われる方はそれなりの知識がある方ですのでほっといてもいいのかもしれませんが、うちで使ってるubuntuについてのみ記録しておきます。

Ubuntuの場合)
FirefoxLinuxの代表的ブラウザですが、ページを開いたからと言ってプラグインを自動で捜してくれるわけではなく、必要ですとメッセージが出るだけです。
ディストリビューションによって違いますが、Firefoxの案内通りにプラグインをダウンロードしてインストールしても上手くいかないことが多いと思います。
ちなみにプラグインがないとこんな画面になります。

Firefoxの案内通りにやると、こんなメッセージボードが出て上手くいかない。

Ubuntuでは、Synaptic(パッケージ・マネージャ)からインストールします。

1.Adobe Flash PlayerはSynapticで「AdobeFlashプラグイン」をインストールします。

2.WindowsMediaPlayerは次の二つをSynapticからインストールします。
  ・gnome-mplayer
  ・gecko-mediaplayer のふたつです。上手くいかない場合は、下記をご覧下さい。

3.Java は同じく、Synapticから「sun-java6-plugin」をインストールします。(ubuntu10.10まで)
ubuntu11.04ではoptionalになっているようだからリポジトリを追加してインストールします。
うまくいかなかったら、インストール可能か確認してみる。
 apt-cache search sun-java6 とするとこんな返答が返ってくる。

インストール可能ですね、上から2番目。
リポジトリを追加する。詳しくはこちらのページを確認

sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"
sudo apt-get update
sudo apt-get install sun-java6-plugin
sudo update-alternatives --config java

そうするとトップ画面は完全表示されました。

※(WMVの再生が上手くいかない場合)わたしも最初WMVのブラウザからの再生が出来ませんでした。
FedoraではできたのにUbuntuでは出来ない、なぜだ。

この原因は、paroleがディフォルトのプラグインに設定されていたため干渉して再生されないことがわかった。
この段階で有効になっているプラグインを確認する。こんなにあるぜ!。

干渉しているプラグインは次のようにしてみつける。FireFoxのHelpでいったん、アドオンをすべてdisableにして、次にToolからAdd-onsを選択し次の一つのプラグインを有効にする。

  ・WindowsMediaPlayer plug-in

その段階で、firefoxを立ち上げ直してWMVが再生できれば、プラグインを徐々に有効にしていけば、どこかで干渉しているプラグインにぶつかるはずです。
この私のサイトだけですと、次の3つがあれば正常に閲覧することが出来ます。余分なのはdisableにしておいてもいいでしょう。

  ・WindowsMediaPlayer plug-in
  ・Java(TM)plug-in 1.6.0_26
  ・Shockwave Flash

ブラウザを立ち上げ直すと再生されました。

めでたしめでたし。

ただし、他のサイトはRealPlayerだったりQuicktimeプラグインだったりが必要ですからお忘れなく。

      
当サイトのオンデマンドストリーミングを見るにはAdobeFlashPlayerをインストールしておく必要があります。
時々発生するトラブルとして、server not found のエラーが出ます、がそのまま再生ボタンをなんどクリックしても変わりません。一旦更新ボタンをクリックしてから再度再生して下さい。
また、rtmp://papillon-ag.homeip.net/・・・・と直接呼出しますと、パーミッションエラーとなります。サーバサイドリンクでそこにはなにも無いからですけどね。

以上です。