Flashプレイヤーを使った動画配信 情報工学科 宮本 崇也
1.はじめに 近年、ブロードバンドの普及により大容量の動画配信サービスが急増している。とくにYouTubeやGoogle VideoなどFlashを使ったストリーミング配信はスムーズに動画を再生できるため、注目を集めている。 本研究はFlashを使った動画配信のメリットとは何かを調べ、実際にストリーミング配信サービスの開発を行う。
2.Flash動画のメリット ほとんどのPC(全世界の98%以上)で 再生できる。 ファイルをダウンロードし終える前に再生を開始できる。 →Webブラウザがプラグインを備えているため、 追加のソフトをダウンロード・インストールする必要が無い ファイルをダウンロードし終える前に再生を開始できる。 →見る人のイライラを少なくする事が出来る デザイン性が保たれる。 →プレイヤーはFlashで制作 ページ内に埋め込むことができる
3.システム開発 3-1.目標 本開発は、ユーザーがただ動画を視聴するだけではなく、アップロードも出来るように開発を行う。
3-2.開発環境 開発環境としては、自宅で誰でも開発できるようにすべてフリーソフトを使って開発を行った。 OS : Fedora Core3 (Linux) →低い性能のコンピュータでも軽快に動作。 ネットワーク機能やセキュリティーに優れ、さらに非常に安定。 Webサーバ : Apache2.0.52 →高い安定性と軽快な動作を実現。 豊富な機能を使用することができる。 開発言語 : PHP5.1.2 →HTMLにスクリプトを埋め込み、動的に文書を生成・送出する。 Perl/CGIと比較して処理速度の高速化、サーバ負荷の低減が可能。 プログラミングが取得しやすい。
3-3.開発の流れ すでにFedora CoreにApacheがインストールされていたので、PHPのインストールから始めた。(図1) アップロードされた動画をサーバ側でFLVにエンコードするためFFmpeg、音声をmp3にエンコードするためlameというフリーソフトもインストールした。 図1 PHPのインストール状況
FFmpegを使って動画をFLVにエンコードするには 以下のコマンドを入力する。 以下のコマンドを入力する。 ffmpeg -y -i input.avi -b 250 -vcodec flv -aspect 4:3 -s 480x360 -acodec mp3 -vol 200 -aq 1 -ac 2 -ar 44100 -ab 64 -f flv output.flv input.avi 動画ソース output.flv FLVファイル -b 250 動画ビットレート -aspect 4:3 アスペクトレート -s 480x360 画像解像度 -ar 44100 サンプリングレート -ab 48 音声ビットレート
HTMLでアップロードフォーム(図3)を作り、動画のみをアップできるように、拡張子を判別するスクリプトをPHPで作成した。 FLVを配信するためにサーバにFlashで作られたプレイヤーをアップする。今回はフリーソフトのFlowPlayer(図2)を使う。FlowPlayerはオープンソースなので、自分でオリジナルプレイヤーを作成することも可能だ。 図2 FlowPlayer 研究室のサーバに接続 ローカルで再生 HTMLでアップロードフォーム(図3)を作り、動画のみをアップできるように、拡張子を判別するスクリプトをPHPで作成した。 図3 アップロードフォーム 研究室のサーバに接続
4. まとめと改良点 今回、ユーザーが動画をFLVにエンコードしてからアップロードをし、HTMLソースを変更して動画の場所をプレイヤーに指定すれば視聴できるところまでできた。しかし、ソースの変更は管理者にしかできなかった。 改良点として、ユーザーが様々な形式の動画をアップロードし、サーバ側でFLVにエンコードして、動画を表示・再生が自動的にできるようにPHPでプログラムを書いていきたい。