本日(9/2)に行われたAppleの特別イベントではMac,iPhone,iPadなどのApple製品からしか視聴することが出来なかった。
なんとかWindowsで見られないかといろいろ試して、イベントのほぼ終わりの段階で見られるようになった。
もともと今回のイベント自体、Appleによる壮大なHTTP Live Streamingのテストであることは予想出来ていたので、アプローチとしてはそれほど難しくはなかった。
やったことは、
- イベントのライブ配信ページのHTMLソースを眺める
- .m3u8の拡張子のURLを探してブラウザで開いてみる
- さらに帯域ごとに合わせた.m3u8のリストが出てくるので任意のm3u8リスト名をブラウザで開くとDLすることになる
- DLしたm3u8ファイルをテキストエディタで開いて中身を確認
- 相対パスになっているのを絶対パスに置き換え
- DLしたリストには配信時までのTSファイルしか記載されていないので、ライブ終了時間から逆算してシーケンシャルにTSファイルのリストを追加
- m3u8ファイルの最終行に#EXT-X-ENDLISTを追加してテキストエディタの編集は終了
- 編集した.m3u8ファイルをVLCかSMplayerで開いて視聴
とこんなとこ。
詳細な内容が下記の通り
2. HTMLソースの中の下記のURLが正解。ブラウザで開いてみる
http://qthttp.apple.com.edgesuite.net/1009qpeijrfn/sl.m3u8
3. sl.m3u8の中に一番帯域広いリストとして1240.m3u8というのがあるのでそれを開く
http://qthttp.apple.com.edgesuite.net/1009qpeijrfn/1240.m3u8
4. DLした1240.m3u8をTeraPad等で開くと
#EXTM3U
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:8,
1240/1240_090110_094007_0.ts
#EXTINF:8,
1240/1240_090110_094007_1.ts
#EXTINF:8,
1240/1240_090110_094007_2.ts
こんな感じになっている
5. 上記の相対パスのURLを絶対パスに書き換える
#EXTM3U
#EXT-X-TARGETDURATION:8
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:8,http://qthttp.apple.com.edgesuite.net/1009qpeijrfn/1240/1240_090110_094007_0.ts
#EXTINF:8,
http://qthttp.apple.com.edgesuite.net/1009qpeijrfn/1240/1240_090110_094007_1.ts
#EXTINF:8,
http://qthttp.apple.com.edgesuite.net/1009qpeijrfn/1240/1240_090110_094007_2.ts
6. イベントの開催時間を2時間と予想してTSファイル数を逆算する(TARGETDURATION:8 とのことなので1TS辺り8秒)
2(hour) × 60(min) × 60(sec) ÷ 8(segment) = 900
ということで、900.ts までリストを追加。適当にExcel等で。
7. m3u8ファイルの最後に#EXT-X-ENDLISTが記載されていないとプレイヤーでシークが出来ないので追加する。
~省略~
#EXTINF:8,http://qthttp.apple.com.edgesuite.net/1009qpeijrfn/1240/1240_090110_094007_900.ts
#EXT-X-ENDLIST
上書き保存してテキストエディタを終了
8. 編集したm3u8ファイルをVLCかSMplayerで開く。SMplayerをお勧め。VLCは再生まで時間がかかる。
TSファイルの繋ぎ目で一瞬映像と音が飛ぶがその辺りはまぁ仕方がないといったところ。
下記にWindowsで見られるように修正したm3u8ファイルを置いておく。解凍して上記のプレイヤーで開けば見られるはず。


Windowsでできるとは驚きでした!!
同じことをやろうと思うのですが、下のm3u8ファイルをダウンロード
する方法はどのようにされたのでしょうか?
<抜粋>
4. DLした1240.m3u8をTeraPad等で開くと