基於HTTP的直播點播HLS


           HLS(HTTP Live Streaming) 是Apple在2009年發布的,可以通過普通的web服務器進行分發的新型流媒體協議。 蘋果官方對於視頻直播服務提出了 HLS 解決方案,該方案主要適用范圍在於:
  • 使用 iPhone 、iPod touch、 iPad 以及 Apple TV 進行流媒體直播功能。(MAC 也能用)
  • 不使用特殊的服務軟件進行流媒體直播。
  • 需要通過加密和鑒定(authentication)的視頻點播服務。
          HLS 的目的在於,讓用戶可以在蘋果設備(包括MAC OS X)上通過普通的網絡服務完成流媒體的播放。 HLS 同時支持流媒體的直播和點播服務,也支持不同 bit 速率的多個備用流(平時根據當前網速去自適應視頻的清晰度),這樣客戶端也好根據當前網絡的帶寬去只能調整當前使用的視頻流。安全方面,HLS 提供了通過 HTTPS 加密對媒體文件進行加密 並 對用戶進行驗證,允許視頻發布者去保護自己的網絡。
          相對於常見的流媒體直播協議,例如RTMP協議、RTSP協議、MMS協議等,HLS直播最大的不同在於,直播客戶端獲取到的,並不是一個完整的數據流。HLS協議在服務器端將直播數據流存儲為連續的、很短時長的媒體文件(MPEG-TS格式),而客戶端則不斷的下載並播放這些小文件,因為服務器端總是會將最新的直播數據生成新的小文件,這樣客戶端只要不停的按順序播放從服務器獲取到的文件,就實現了直播。由此基本上可以認為,HLS是以點播的技術方式來實現直播, HLS的這種技術特點,決定了它的延遲一般總是會高於普通的流媒體直播協議
          HLS只請求基本的HTTP報文,與實時傳輸協議(RTP)不同,HLS可以穿過任何允許HTTP數據通過的防火牆或者代理服務器。它也很容易使用內容分發網絡來傳輸媒體流。 由於數據通過HTTP協議傳輸,所以完全不用考慮防火牆或者代理的問題,而且分段文件的時長很短,客戶端可以很快的選擇和切換碼率,以適應不同帶寬條件下的播放。
          蘋果對於自家的 HLS 推廣也是采取了強硬措施,當你的直播內容持續十分鍾 或者每五分鍾內超過 5 MB 大小時,你的 APP 直播服務必須采用 HLS 架構,否則不允許上架。
     服務支持
Adobe Flash Media Server:從4.5開始支持HLS、Protected HLS(PHLS)。5.0改名為Adobe Media Server
RealNetworks的 Helix Universal Server :2010年4月,版本15.0開始支持iPhone, iPad和iPod的HTTP直播、點播H.264/AAC內容,最新更新在2012年11月。
微軟的IIS Media Services:從4.0開始支持HLS。
Nginx RTMP Module:支持直播模式的HLS。
VLC Media Player:從2.0開始支持直播和點播HLS。
Wowza Media Server:2009年12月9日發布2.0,開始全面支持HLS。
VODOBOX Live Server:始支持HLS。

客戶端支持環境

Native支持
Android 3.0+
iOS 3.0+
flash支持: Adobe Flash Player從11.0開始支持HLS。
            MediaElement.js(MIT)
Flowplayer(GPL ×)
GrindPlayer(MIT)
video-js-swf(Apache License 2.0)
clappr(BSD IE10+ ×)
Windows 10 的 EDGE 瀏覽器開始支持HLS。





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM