いつもブログを読んでいただきありがとうございます🍂
株式会社GIFTVOX システム開発部 オオノです。
普段はRTMPやSRTといったプロトコルで配信する事が多いのですが、先日HLSで配信する機会がありました。
そこで今回は、”HLSとは”を 弊社システム部のオオノが解説します!
HLSとは?
“HTTP Live Streaming”の略称。
映像や音声のストリーミングデータをHTTPプロトコルで送受信できるようにしたよ!
という規格のこと。
狭義だとあくまで技術規格であり厳密にはプロトコルではありません。広義ではHLSで送ったデータ形式を指すこともあります。
Appleが2009年に開発した比較的新しい技術です。
httpとは?
“Hypertext Transfer Protocol”の略称。
主にwebブラウザとwebサーバー間のデータ送受信に使用されているプロトコル。
例えばこれをブラウザのURLウィンドウに打ち込んでエンターキーを押すと、
「httpというプロトコルで”うんたらかんたら.com”さんからデータを貰うリクエストをする」という動作をブラウザが実行してくれます。
プロトコルとは?
ネットワーク上でデータをやり取りするためのルールのようなもの。
人間社会で例えると会話に使用する言語みたいなニュアンスだと思います。
もしAさんが英語プロコトルでBさんに話してしまうと、Bさんは話している情報(データ)を受け取ることができません。
ストリーミングデータのプロトコルの歴史
Flash Player
Adobe Flash Playerという動画再生プラグインを覚えているでしょうか?
その昔、youtubeを見るにも、ニコニコ動画を見るにも、とにかく動画サイトを楽しむにはこのプラグインが必須でした。
入れてないと動画プレイヤーが設置されているサイトに飛ぶたびに「flash playerが必要だよ!」というポップアップが出て、
入れたら入れたで頻繁に「flash playerが更新されたよ!アップデートしてね!」というポップアップが出ていました。
現在はAdobe Flash Playerは姿を消し、買ったばかりのPCのデフォルトブラウザで動画サイトを訪れても何も問題は有りません。
一体Flash Playerとインターネットの世界に何が起きたのか。それはストリーミングプロコトルの進化です。
なぜFlash Playerが必要だったか
Flash Playerの全盛期は2000年代中盤~2010年代初頭くらいでしょうか。
その辺りの主流ストリーミングプロトコルといえば、配信界隈では馴染みのRTMPです。
RTMPはAdobeが開発した規格です。Flash PlayerもAdobeです。
RTMPによって受け取った動画はFlash Playerで再生できました。
完全に牛耳っていますね。2010年頃の動画サイトはまさにAdobe社に依存することで生態系を維持していました。
Flash Playerの終焉とHLS
HLSどこが凄いか
Adobeの猛威が続く中、かのAppleが2009年にHLSという規格を開発します。
そこから数年で一気にシェアを逆転させるのですが、HLSが優位に立つ最大の理由が使用するプロトコルです。
ストリーミングデータのやり取りにHTTPサーバーを利用できるというのはあまりにも強力です。
プロトコルとしてのHTTPとそのサーバーは、既に多くのwebサイト構築のデファクトスタンダードでした。
HLSはそのスタンダードなシステムの上に乗っかることができるのです。ストリーミングのために他の技術を使用することなく。
一方RTMPは、当然ですがwebサイトのシステム外に専用サーバーを構築しなければなりません。
もうこの時点でwebサイトの運営者はどちらを選びたがるか自明ですね。
HTML5
Apple社のHLS発表と同じ頃、Web界隈にも大きな動きがありました。HTML5の発表です。
HTML自体については説明を省きますが、HTML5という規格の中に動画プレイヤー機能を持つものがあったのです。
現在その機能はyoutubeを始め、ほぼ全ての動画サイトで採用されています。
👇こういうの
webサイトはもう外部のプレイヤーを必要としなくなりました。
ストリーミングのデータは慣れ親しんだHTTPサーバーで送受信し、
それを再生するためのプレイヤーはwebサイトを構築しているHTMLの中にあります。
RTMPとFlash Player、サポート終了
そして2020年末、Flash Playerは使命を全うしインターネットから姿を消しました。
でも残っているRTMP
そうですね。配信技術者の界隈でもRTMPのシェアは依然として高いままですね。
それは、Flash Playerのサポート終了は動画を再生しなければ特段影響が無いからです。
どういうことかと言いますと
配信者がサーバーまで映像を送る部分をファーストマイルと呼んだりします。ここではRTMPがたくさん使われてます。
サーバーから視聴者が動画データを受け取るのはラストマイルと呼ばれてたりします。ここはHLSが多いです。
視聴者は受け取った動画を再生しなくちゃいけないので、Flash Playerとかじゃないと再生できないRTMPでサーバーから送られても困るわけですね。
配信者とサーバーは別に動画再生するわけじゃないので、RTMPで送っちゃっても何も問題無いわけですね。
しかもライブストリーミングという技術が広がった頃はRTMPが主流だったわけですね。
配信用の色んなソフトとかハードとかはRTMPでの送出機能を絶対に搭載していたということになります。
そして、ファーストマイルでは普通に使えるのでHLSが台頭したとしてもわざわざ機能を取っ払う必要もないです。
サーバー側も同じ理由で、RTMPでのデータ受け取りはそのまま使えるからそのままにしてるんですね。
ただしRTMPもAdobeのサポートは終了しています。今後脆弱性が見つかってもアップデートされることはありません。
遅かれ早かれファーストマイルも次世代プロトコルになっていくと思います。
まとめ
今回は、HLSプロトコルについてシステム部 オオノからご紹介させていただきました。
私たちは、RTMPで送出していてもプラットフォーム側でHLSに変換されていたのですね、、!
いずれは、HLS配信が主流になるかもしれません...!
最後までご覧いただきありがとうございます。
株式会社GIFTVOXでは撮影・配信・音響とそれぞれ専門のスタッフが丁寧に対応いたします。
映像・音響・配信のご相談は、”GIFTVOX公式HP”から承っております。
お気軽にご相談下さい!
▼過去記事でSRT・RTMPプロトコルについて投稿しています!併せてご覧ください!
▼GIFTVOX公式HPはこちら