2012年02月27日

【軽く実験】iOSでの動画配信を試す

このエントリーをはてなブックマークに追加
たまには技術的なエントリーを書いてみます。iOSの動画配信で2つほど試してみました。(エントリーの内容はメモ的なものであまり役に立たないと思います。)

1.iOSでm3u8、TSファイルを利用したストリーミング配信
iPhoneなどiOSで動画をストリーミング再生するときは、Apple独自の再生方法、HTTP Live Streaming(HLS)という方法を利用する必要があります。で、それをオンデマンド・ストリーミングで配信するのをちょっとやってみました。手順の概要は以下の通り。
  1. 手持ちのムービーファイルをMPEG-2 TS形式(映像codec:H.264、音声codec:AAC)に変換する。
  2. 変換済みのMPEG-2 TSファイルをSegmenter(セグメンター:ファイル分割ツール)に通し、プレイリストである.m3u8ファイルと、一定時間(例:10秒間)毎の.tsファイルを作成する
  3. .tsファイル群をwebサーバー上の適切な場所へ、m3u8ファイルをiPhoneがアクセスするページへ設置する
HLSでの動画再生の具体的な方法は、以下のサイトなどが詳しいのでそちらを参照にしてください。
macwebcaster.com | How to create On-Demand HTTP Stream for iPhone
にゃんだふる日記|[iPhone] HTTP Live Streaming

尺の長い動画を再生する場合、分割されたTSファイルを連続再生するという仕組みは、帯域が狭い回線などを利用するときには非常に便利だと思います。検索条件などによって動画をランダムにシークする必要があるときには、尺の長い映像が対象だとシークに時間がかりますが、分割することでシークの時間が少なくなることが予想され、ユーザーを待たせる機会が少なくなるので非常に助かります。

2.ストリーミングサーバを使ってiOSでの動画配信
別の取り組みとして、Flash Media ServerやWowza Mediaサーバを通して、HLS通信でiOSで動画配信をすることも試してみました。こちらは、ある動画コンテンツを分割することなく、動画コンテンツをそのままで再生する場合の各ストリーミング・サーバでの方法となります。

(1)Flash Media Serverで、動画コンテンツを再生する場合のHTML上での動画の指定方法
  http://○○○.xxxxxxx.com/□□□/△△△△△△.mp4.m3u8
  (mp4でテスト。拡張子「.mp4」のあと「.m3u8」をつけて動画を呼び出す)

(2)Wowza Media Serverで、動画コンテンツを再生する場合のHTML上での動画の指定方法
  http://○○○.xxxxxxx.com/□□□/△△△△△△.mp4/playlist.m3u8
  (mp4でテスト。拡張子「.mp4」のあと「/playlist.m3u8」をつけて動画を呼び出す)

どちらの場合にしても、実際に各ストリーミングサーバの内部では、MP4ファイルを分割してTSファイルを作成しストリーミング再生を行っているようで、上記1でしたことをストリーミングサーバが独自で行い、iOSでの動画再生を行っている、ということになります。

ところで、少しずつiOSでの動画配信について勉強はしているのですが、正直この技術に注力していいのかはまだ自信が持てません。HLS通信は最近のAndroidでは対応しているようですが、バージョンが古いのは対応していないようです。Flash問題を含め現在動画配信は過渡期に入っていると思いますので、技術の選択は慎重になりたいというのが本音ですね。

【関連記事】
posted by motti at 15:14 | Comment(0) | TrackBack(0) | スマホ/タブレット | このブログの読者になる | はてなブックマークに追加
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。