HLSとは何か?
インターネットで配信されている動画の中で、「HLS」という形式で配信されている動画について聞いたことはありませんか?HLSとは「HTTP Live Streaming」の略称で、iPhoneで知られるApple社が独自開発を行った規格です。
HLS動画の仕組みですが、動画ファイルをインデックスファイル「形式:.m3u8」とセグメントファイル「形式:.ts」にファイルを分けています。インデックスファイルである.m3u8ファイルはプレイリストとして用いられ、各.tsファイルの順番や秒数の指定・配信形式の指定を行い、動画を再生できるようにしているファイルです。セグメントファイルの.tsファイルは、動画を格納しているファイルです。基本的に細かく分割されている他、AES(Advanced Encryption Standard)という鍵暗号アルゴリズムにも対応しているため暗号化も可能です。インデックスファイルがセグメントファイルを指定することで、動画の再生が行われます。
簡単に説明すると、元々動画だったファイルをプレイリストと細切れの動画ファイルに分割して、HLS動画の再生に対応しているブラウザ・アプリケーションでプレイリストを読み込んで細切れになった動画ファイルを順番に読み込むことでスムーズに動画を再生してくれる形です。
HLS動画の特徴
様々なデバイスに対応している
HLS動画の再生は、様々なデバイスで対応しています。Androidスマホ・iPhoneなどのスマートフォンはもちろん、WindowsのパソコンやmacOSのパソコンなどほぼ環境を問わずに再生させることができます。視聴するために特定のデバイスを導入しなくていい技術であることが強みですね。
オンデマンド配信・ライブ配信のどちらも利用可能
動画の配信方法と言えば、大きく分けてオンデマンド配信とライブ配信の2種類が挙げられます。オンデマンド配信(On-Demand)はYouTubeなどの視聴したい動画を見ることができるサービスですね。ライブ配信はリアルタイムでの動画配信のことを指します。YouTube Liveやニコニコ生放送・Twitchなどのユーザー配信がこのライブ配信に当てはまります。
マルチビットレートに対応
アダプティブビットレートストリーミングにより複数のビットレートの映像データを送信することができるため、ユーザーの通信環境やデバイスによって最適なビットレートの動画を視聴することができるようになります。普段は720pだけど今は通信環境が悪いので360pに変える…ということができるわけです。
汎用性の高さ
HTTPプロトコルを利用していることにより、動画の視聴のために専用の通信ポートを用意するといった手間や要求がありません。専用の通信ポートを利用している形式の場合、セキュリティの問題から通信がブロックされる・アプリケーションによっては動画再生ができないといった問題が発生することがありますが、そういった障害がないため配信者・視聴者のどちらにも負担がかかりません。
まとめ
HLSという動画配信形式について説明してきましたが、要するにインターネット上の配信サービス(有名所であればAbemaなど)で多く利用されている規格であると考えれば分かりやすいかと思います。近年では個人でのライブ配信なども簡単に行えるようになってきましたが、これもHLSの恩恵によるものです。近年のインターネットにおける動画配信は大体がこの技術を使用しているものと覚えておきましょう。