2013年03月16日

【iOS、Androidでの映像配信】HLS通信用ファイル(m3u8)作成についての最近の知ったことのまとめ

このエントリーをはてなブックマークに追加
1.FFmpeg関連情報
以前下記のような記事を書きました。

【軽く実験】iOSでの動画配信を試す | なせばなる。。。

LinuxでHLSで再生されるm3u8形式の映像を作成する、他の方のブログを紹介しました。そこでは、
  1. 一旦、ffmpegでtsファイルを作る
  2. segmenterで@で作成したtsファイルを分割して、かつそれをまとめるm3u8ファイルを作成する
という2段階のものでしたが、1、2を一発ですることもできるみたいですね。

下記のブログを発見しました。
NginxとFFmpegを利用したHTTP Live Streaming配信 | rest term

最新のffmpeg(ここで紹介されていたのは、ver1.1.1)を、ソースからインストールすることでsegmenterをインストールする必要がなくなったようです。ffmpeg自身がセグメントストリームを実装することで、元の映像から、一度に分割されたtsファイルとm3u8ファイルを作成できるようになりました。

※ちなみに僕の環境では、ソースからのインストールができず。時間をとれたらがんばってインストールしてみたいと思います。

2.他社のソリューション関連
先日Microsoftの方から話を聞くことがあり、IISのMedia Serveceを利用したライブストリームのデモをしてもらいました。Media Serviceは、Microsoftのスムースストリーミングを利用した映像配信しているわけですが、同時にiOSなどの他のデバイスでの映像再生も考慮してHLS通信用のファイルも配信しています。

これはm3u8ファイルとtsファイルを作成して映像配信をしているわけですが、上記のFFmpegで作成するケースとは違って分割したtsファイルを作成してはいませんでした。特徴的なところをまとめておくと
  • 実際にファイルを見せてもらいましたが、tsファイルは1本のファイルでした。
  • 1つのm3u8ファイルと1つのtsファイルが作成されるという仕組み。つまり、サッカーの1試合90分の映像も90分のtsファイルが1本できる、ということ
  • サッカーの試合で例をとると、後半開始にいきなりシークしたい場合、映像の頭出しに時間がかかるわけではなく、スムーズにシークすることになる(らしい)
  • m3u8ファイルを使って、上記の90分の映像のある区間(例:シュートシーン10秒間など)を指定しての再生もできる
ということでした。

Windows AzureのMedia Servicesでも、ライブエンコーディングはできないが、HLS対応のエンコーディングはできるとのことでしたので、時間をとって上記のあたりが本当にできるのか、パフォーマンスよくできるのか、試してみたいと思います。

【関連記事】

posted by motti at 20:34 | Comment(0) | TrackBack(0) | スマホ/タブレット | このブログの読者になる | はてなブックマークに追加
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]


この記事へのトラックバック
×

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