iOS5でワンセグHLS

知りませんでしたが、HTTP Live Streaming、略してHLSとか言うのですね。
kulafakerさんにコメントもらった、iOS5だと再生が始まらんぞゴルァ、の件。先週末にiOS4からiOS5.1にアップデートした、iPhone4で試してみた。

  • stream.php?view=ほげほげ.m2tは呼ばれる
  • その次の、stream.php?fname=ほげほげ.m2tが呼ばれない

うーん、なんかHLSの仕様が変わった?と思って、AppleiOS Developer Libraryから、Using HTTP Live Streamingの、Sample Streamsを見てみる。まあ当然ながらきっちり再生された。
サンプルのHTMLソースを見てみた。。。特に怪しいところはないけど、もしかして拡張子が.m3u8でないとダメなのか?
ダメもとで、stream.phpのvideoタグのsrcを、stream.m3u8にしてみた。。。呼ばれるがな。(そんなファイル無いのでエラーになるけど)

というわけで、試行錯誤した結果、

 <video width='320' height='180' src="stream.php?fname=$_REQUEST[view]&ext=.m3u8" />

これで誤魔化せるようです。