spacer
spacer
携帯動画投稿BBSの開発ブログ

動画投稿掲示板の基本設計

|

携帯用の動画、画像BBSソフトを作ろうという話になりました。
有料にすると利用者はごく限られてくるでしょうから、誰でも使えるようにフリーライセンスで提供できる形であること、Windows PCに簡単にインストールできるようにすること、という条件で作ります。

携帯の動画・画像掲示板の課題は、2つあります。
1, 投稿するファイルをメールで受信する必要がある
2, 投稿されたファイルを他の端末で閲覧できるように変換する必要がある

一般にはあまり知られていないのですが、最近のWindows( 2003Serverだけでなく、XPやVista含む には)すべてメールサーバの機能があります。正しくDNS設定すれば、myname@myglobalip といった形でメールを受け取ることができるのです。

それでも多くのユーザはDNSの設定をすることができないでしょうから、メールを代理受信するためのMail Serverを無償提供することは必須でしょう。代理Mail ServerからBBSのインストールされたサーバにHTTPでファイルを投稿する仕組みをもつようにする予定です。負荷があまりにも大きく、複数のサーバが必要になる場合は広告でもいれてコスト回収しましょう。

Windows以外のMail Serverを指定できるように、Perlのスクリプトも提供しておくといいかもしれません。

問題は2の動画の変換です。これが実に奥が深いのです。
入力される動画ファイルは、FLV、AVI、WMV、MPEG、・・・・と大体のものはFFMPEGを使えばデコードできるのですが、すべての携帯で閲覧できるように変換したファイルをつくるのが極めて困難です。

DoCoMoとSoftbankは多少癖があるものの、FFMPEGだけでもほぼ対応できるのですが、AUはFFMPEGだけではうまく変換できません。KDDI研究所の出している「3GPP2ムービーSDK(ソフトウェア開発キット)」を購入すれば変換できるのですが、フリーで再配布できなくなってしまいます。「携帯動画変換君」(WIKI)のようにFFMPEGとQuick Timeを併用する形にするか、おもいきってFFMPEGのソースコードを読み込んでAU用の3GPP2エンコーダをつくるか、FFMPEGをあきらめて他の動画変換ライブラリを使うかになります。

携帯動画変換君と同じ変換アプローチをとるメリットは、ネット上に様々な端末での変換の例がでていますので、実際に端末テストする必要がありません。解像度とフレームレート、音声のビットレートを端末ごとに設定できるようにするのが大切だと思います。

ただ、QuickTimeは再配布可能ではないし、Windows 2003 Server 64bit環境にインストールできなかったりします。
なので、コンバーターの設定は複数の変換ライブラリを自由に組み合わせることのできる仕組みにしておきます。

DBの利用するかしないか検討します。

プログラムの開発上はDBを使うほうが圧倒的に楽になりますが、インストール、運用上の問題がでてきます。最近はVisual Studio 2005のインストールウィザードでは、SQL Express2005のインストール検証できますが、BBSを利用するユーザにDBのインストールを強要するのは避けたいです。

なので掲示板の書き込みなどについてはSQL LiteのC#ライブラリ版、System.Data.SQLiteを使い、システムや動画変換設定などはすべて設定用のXMLファイルに集約して、設定については設定用GUIを用意すればよいかと思っています。

これで大まかな設計の方向が固まりました。
ユーザがインストール後BBSをセットアップするのに必要な作業は、下記のようになります。

・ファイルをProgram Files\MMBBSにインストーラが展開。展開終了後、bbssetup.exeが起動
・Webフォルダの指定(デフォルトはinetpub/wwwroot/mmbbs1)
・ドメインの指定(デフォルトはIP、LocalIPの場合は警告を出す)
・メールサーバの指定(デフォルトは無料サーバ、XREAのセットアップ用のPerlプログラムを吐き出し)
・DBのフォルダを設定(デフォルトはinetpub/wwwroot/mmbbs1/db)
・掲示板のプロパティを設定(管理者ID・パスワード、掲示板の名前、デザイン、PC制限など)

 

次回は機能面について検討します。

メッセージ送信

この記事に対してのご意見をお聞かせ下さい。
頂いたメッセージは訪問者様に読みやすいよう整形したのち公開させて頂く場合がございます。
 



 
spacer
spacer