Tasakiです。
このところ、更新する機会を持てず3ヶ月ぶりとなってしまいました。
これからは週1では更新していきたいと考えていますので、改めまして宜しくお願い致します。
さて、今回のテーマですが、OS3.0(最新は3.1.2ですが…)で追加された機能の中でも、目玉の1つである HTTP ライブストリーミングについて、触れてみたいと思います。
映像のライブストリーミングと言えば、
RTP /
RTSPがこれまでの主流だったわけですが、iPhoneOSそしてQuickTimeXに、このテクノロジが導入されたことで、今後どうなっていくのか、個人的にも注目しています。
Appleのドキュメントにもありますが、このテクノロジの魅力は何と言っても、ほぼどのような接続環境でも問題なく視聴が可能だと言う点です。
RTPの場合は、ファイアウォールによってブロックされてしまう可能性があります。
設置型のPCならともかく、ネットブックや携帯電話は、いつ、どのような環境でネットワークに接続するかは分かりませんので、これは障害となります。
一方、どのようなネットワーク環境においても、HTTPがブロックされることは、まず考えられません。
このような点から、モバイルデバイスとの相性も良いといえます。
また、肝心の画質や途切れに関しても、予想以上の結果で非常に驚きでした。
では、実際にiPhone上に実装してみましょう。
iPhone SDKにおける動画プレイヤーといえば、MediaPlayerフレームワークのMPMoviePlayerControllerですが、これの初期化の際に、HTTPライブストリーミング用プレイリストファイルのURLを渡します。
ソースコードは以下の通りです。
NSURL* url = [ NSURL URLWithString: @"http://qthttp.apple.com.edgesuite.net/0909oijasdv/all.m3u8" ];
MPMoviePlayerController* moviePlayer = [[ MPMoviePlayerController alloc ] initWithContentURL: url ];
[ moviePlayer play ];
これをアプリのどこかに追加するだけで、OKです。非常に簡単です。
URLの部分は、ライブストリーミング用プレイリストファイルを指しています。
特にファイルでなくとも、このリクエストのレスポンスがプレイリストファイルと同等であれば構いません。
ただし、ローカルのプレイリストファイルを渡してもストリーミングはされないのでご注意ください。
ちなみに、サンプルのURLは、例の方の講演となっております。
- 関連記事
-
スポンサーサイト
trackbackURL:http://appteam.blog114.fc2.com/tb.php/89-fd26110e