ffmpegで動画からフレームを切り出し、それをmingでFlashにするという方法で、ケータイのブラウザ上で動画をインライン再生させるというのをやってみた。
ここ ケータイFlash用 動画変換サーバー(動画の投稿はPCのブラウザから。QRコードとURLが出るのでそこから先は携帯で閲覧。)
メンドウなところは、(すくなくとも)Flash Lite 1.1の場合は、ある程度のフレームのところで、画像が赤表示になってしまうという問題。これは、多分ケータイのFlashに割り当てられるメモリが足りないために起きる現象だろうと思うので、フレーム数を減らすことで解決はするけど、言うまでもなく再生できる動画の時間もしくはフレームレートを犠牲にする形になる。
例えば今回のようなケースでは、なるべく赤にならないようにということで、ファイルサイズが100KBまでいけるところを、わざと60KBまでに制限して、生成されるSWFを切り分けているのだけど、どこで線引きするのかというのは、実際にはいろいろな端末でためしてみないと本当にわからない。多分だけど、1年以上前のDocomo以外の端末では、今の制限では赤は出そうな気がする。
Docomo端末は割当メモリが大きいためもしかしたら100KBまでいけちゃうのではという気もするけど、試していないので不明。
Flash Lite 2.0にしたらどうかというと、その場合は赤表示にはならないのではないかと思う。赤表示にはならないと思う理由は単に今まで見たことがないからだけど、ガベージコレクションされるからとか理由はちゃんとあるのだろう。
ただ、Flash Lite 2.0は相変わらず大手3キャリアの中でDocomoだけが未対応となっている。それでもAUとSoftbank向けにはFlash Lite 2.0で書き出すというのも手かもしれない。Flash Lite 2.0にすると圧縮を書けることができるので、Flash Lite 1.1 だと140KBくらいのコンテンツが、100KBくらいに収まったりすると思う(この前やったときにたしかそんな感じだった)。
メンドウではあるけど、
Docomo端末 Flash Lite 1.1で生成 制限100KB
AU、Softbank端末 Flash Lite 2.0対応機種 Flash Lite 2.0で生成 制限100KB
AU、Softbank端末 Flash Lite 2.0非対応機種 Flash Lite 1.1で生成 制限50KB
といった具合で変換すれば、それぞれに最適なコンテンツとなるのではないかと思う。
ところでphp5でSwfprebuitclipを使うにはどうインストールしたらいいのだろう。先週から迷走してます。
しかしこういったケータイ向けのサーバーサイドSWF生成というのは、現状のキャリアの課す「ワンクリック/ワン通信」制限の中では必須となることが多いけど、逆にこんなことしないといけないので、結局あんまり面白いものができないか、作る人がいないという結果になっているように思う。
コメント