ワンセグTS 続々

できたー(一応)

コメントもらって、やっぱりm3u8が違うんだろうなあと、親子のplaylist作ってみたけど、結果は変わらず。
いや、そもそもまっとうなやり方でやってみようとffmpeg+segmenterを試してみたけど、理由は良く分からないけどsegmenterがうまく読んでくれない。

さて詰んでしまい、どっかにm3u8のサンプルがないかと探したところ、どうやらこうなるのが正しいっぽい。

#EXTM3U
#EXT-X-TARGETDURATION:5
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:5,
stream.php/out/173900/384460.ts
#EXTINF:5,
stream.php/out/384460/596900.ts
#EXTINF:5,
stream.php/out/596900/808964.ts
#EXTINF:5,
stream.php/out/808964/1021780.ts
#EXT-X-ENDLIST
  • EXT-X-MEDIA-SEQUENCEを追加(良く分からん)
  • ブツ切れのそれぞれに、EXTINFを追加
  • ブツ切れのそれぞれを、URLじゃなくて、相対パスのファイル名っぽく記述

というわけで、これで無事に(?)再生できるようになった。。。が。
5秒ごとの切れ目は感じなかった。結構先読みしてくれてる感じ。音声はわりとまとも。だがしかーし、映像が崩れまくり。
根拠なしの直感的には、ファイルの切れ目がTOTなので、chunkの頭からPAT-PMTが現れるまでのvideo streamを捨ててるんじゃないかしら。もしかしたらそれに加えて、ちゃんとGOPなところで切らないとダメなのかしら。

【追加】
継ぎ目で捨てられるところが多いんだったら、TOTを1個ずつ間引いて、10秒ごとにすればどうだ、と思って、

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10,
stream.php/out/173900/596900.ts
#EXTINF:10,
stream.php/out/596900/1021780.ts
#EXT-X-ENDLIST

としてみた。(上は例で、実際に使っているファイルは2分くらいのもの、chunkは12個ある)
結果。。。おぉ、結構ごまかせるぞ。
家の中でWiFiだとこれで十分かも。。3G経由はさすがにつらいなあ。でも想定される状況は、暇な電車の中で観る(しかも事前にdownloadしておくのが面倒)ということなので、3Gなのだけど。