Apple も hls.js を使用しているという
今年の WWDC から、キーノートのライブを Chrome や Firefox でも見られるというアナウンスがありました。
ただし、現在、公式サイトからはその記述は消えているようです。
Streaming video requires an iPhone, iPad, or iPod touch with Safari on iOS 9.0 or later, a Mac with Safari on OS X v10.11 or later, or a PC with Windows 7, 8, or 10. Windows 10 also requires Microsoft Edge. Streaming via Apple TV requires an Apple TV (2nd or 3rd generation) with software 6.2 or later or an Apple TV (4th generation or later).
が、WWDC 開催直前、例えば 9to5Mac でも下記のように報じられていました。
This stream is best experienced on an iPhone, iPad, or iPod touch using Safari on iOS 10 or later; a Mac using Safari on macOS Sierra 10.12 or later; or a PC using Windows 10 and Microsoft Edge. Streaming to Apple TV via AirPlay requires an Apple TV (2nd generation or later) with the latest Apple TV software or tvOS. Other platforms may also be able to access the stream using recent versions of Chrome or Firefox (MSE, H.264, and AAC required).
で、実際に Apple の WWDC18 キーノートのサイト (https://www.apple.com/apple-events/june-2018/) のソースを見ると、hls.js へのリンクがありました。WWDC のキーノートが終わった現時点でも、実際に Chrome でアクセスしてみると、hls.js がダウンロードされ、m3u8, webvtt, ts がダウンロードされ、HLS でビデオが再生されています。
どのバージョンを使っているのかなと JS ファイルの中身を見てみると、0.2.2-marcom17p でした。はて、これは何でしょう…?カスタマイズ品かな?
何にせよ、Apple も公式サイトで hls.js を使っていると!
ちなみに、過去の WWDC のビデオもぜーんぶ hls.js を使って Chrome でも見られるようになっていました。(去年は Chrome で見られなかった気がする…見られたっけ?よく覚えてないけど少なくとももっと昔は見られなかったと…)
これだと、H.264 で MPEG2-TS のストリームを作っておけば、iOS, macOS, Windows, Linux というプラットフォームで Safari, Chrome, Firefox, Edge, IE を掛け合わせで網羅できます。つまり、PC、スマホ、タブレット、ほとんどのネットユーザーを HLS でカバーできるでしょうね。
しかし、iOS, macOS, Windows 10 (Edge) では HEVC/H.265 で fMP4 な HLS をネイティブ再生できるのですが、hls.js では今のところ、
fragmented MP4 container (beta)
とのことです。
そのため、ネイティブ用には最先端っぽい HEVC 使いたい!という場合は、ネイティブ用と非ネイティブ用で、ストリームとプレイリストを別々に準備しておいたほうが良さそうですね。
それにしても、