<< PHP で外部コマンド実行 〜popen 開けパイプ〜 | main | MHP2G 早くも100万本突破! 〜ひと狩り行こうぜ〜 >>

携帯での動画・着うた配信 〜ストリーミング or ダウンロード〜

携帯サイトに関わっている期間は結構長いですが, 今までメディア関係で扱ったことがあるのは主に待受け画像関係。後は Flash を少々。

個人的に着メロ, 動画/着うたにはとんと興味がなかったのでずっとスルーしていたのですが, 今回, 動画/着うたを初めて業務で扱うことになったので, 備忘録を兼ねてメモ。
動画の再生方式には, ストリーミングダウンロード の 2種類あります。

・ストリーミング
動画を受信しながら再生する
端末に保存不可能

・ダウンロード
動画を完全に受信した後, 再生
端末に保存可能

キャリア毎のファイル容量は以下の範囲です(機種ごとに違います)。

・DoCoMo
ストリーミング 2MB 〜 10MB
ダウンロード 300KB 〜 10MB

・au
ショートストリーミング 140KB
ダウンロード 512KB 〜 1.5MB
ストリーミング 1.5MB

・SoftBank
ストリーミング -
ダウロード 200KB 〜 300KB

1つのファイルをどのキャリアにも対応させようとすると, ダウンロード方式で 200KB以下で作らないといけないことになりますね。

DoCoMo にはプログレッシブダウンロードというストリーミングとダウンロードのいいとこ取りをした方式があり, 受信しながら再生し端末に保存できます。

au のショートストリーミングは名前はストリーミングですが, 再生されるのは動画を完全に受信した後。
単純に端末に保存できないだけ。
au のストリーミングは KDDI の配信サーバを利用しないといけないらしいので, 普通のサーバでは無理っぽいです。

SoftBank は基本的にはストリーミング再生できません。ダウンロードのみ。
SD(Separated Delivery)方式を使えばストリーミング再生可能ですが, かなりややこしい方式且つ公式サイトにしか対応してません。


MIMEタイプは以下。

・動画
video/3gpp (DoCoMo, SoftBank)
video/3gpp2 (au)

・着うた
audio/3gpp (DoCoMo, SoftBank)
audio/3gpp2 (au)


動画/着うたを配信するタグですが, DoCoMo/au は objectタグで, SoftBank は単に aタグでリンクします。
著作権保護(転送禁止)設定は, DoCoMo/au はツールを使って設定, SoftBank は相変わらずお馴染みの x-jphone-copyrightヘッダで。

また, DoCoMo/au に関しては, 動画/着うたファイルへのリクエストに Rangeヘッダが付加されます。

Range: bytes=1-1023

このヘッダを受けた場合は, 206 Partial Content のステータスを返さなければなりません。
通常は Apache が勝手に処理してくれるので意識する必要はないのですが, 自前のスクリプトでメディアファイルのデータを出力する場合は Rangeヘッダを適切に処理する必要があります。
具体的には以下の様に Content-Rangeヘッダをつけて要求された範囲のデータのみ出力すれば OK です。

header('HTTP/1.1 206 Partial Content');
header('Content-Range: bytes ' . $from . '-' . $to . '/' . filesize($file));
header('Content-Type: ' . $mime);
header('Content-Length: ' . ($to - $from + 1));
header('Accept-Ranges: bytes');

...しかし, 動画/着うたの仕様は画像に輪をかけて複雑ですな(´∀`;)
相変わらずキャリア毎に仕様違うし, 携帯の世界の仕様はカオス過ぎ。
それが携帯サイト構築ノウハウになって強みになるんでしょうが, いい加減統一して欲しい。

参考
・NTTドコモ - MP4対応iモーション
・KDDI au:技術情報 - EZムービー
はてブへ追加 この記事のはてブユーザ
Tech > Mobile | comments (0) | - | pagetop↑

Comments

Post your Comment