轉載自:http://www.cuplayer.com/player/PlayerCode/Wowza/2015/0204/1774.html
HLS (HTTP Live Streaming)
Apple的動態碼率自適應技術。主要用於PC和Apple終端的音視頻服務。包括一個m3u(8)的索引文件,TS媒體分片文件和key加密串文件。
常用的流媒體協議主要有 HTTP 漸進下載和基於 RTSP/RTP 的實時流媒體協議,這二種基本是完全不同的東西,目前比較方便又好用的是用 HTTP 漸進下載方法。在這個中 apple 公司的 HTTP Live Streaming 是這個方面的代表。它最初是蘋果公司針對iPhone、iPod、iTouch和iPad等移動設備而開發的流.現在見到在桌面也有很多應用了,HTML5 是直接支持這個。
但是HLS協議的小切片方式會生成大量的文件,存儲或處理這些文件會造成大量資源浪費。如果要實現數天的時移,索引量將會是個巨額數字,並明顯影響請求速度。因此,HLS協議對存儲I/O要求相當苛刻。對此,也有公司提出了非常好的解決方案。
新型點播服務器系統,獨創了內存緩存數據實時切片技術,顛覆了這種傳統實現方法,從根本上解決了大量切片的碎片問題,使得單台服務器的切片與打包能力不再是瓶頸。其基本原理如下:
不將TS切片文件存到磁盤,而是存在內存當中,這種技術使得服務器的磁盤上面不再會有“數以噸計”的文件碎片,極大減少了磁盤的I/O次數,延長了服務器磁盤的使用壽命,極大提高了服務器運行的穩定性。同時,由於使用這種技術,使得終端請求數據時直接從服務器的內存中獲取,極大提高了對終端數據請求的反應速度,優化了視頻觀看體驗。
RTSP協議,這應該是實時性最好的了,如果要想實時性要求很高,比如0.5s以內,這個是不錯的選擇。前陣子模仿spydroid寫了個建議的rtsp 服務器,其實就是options,describe,setup,play,pause,teardown這幾步了,這個協議用的最廣泛,網上介紹也比較 多。要想真正深入了解rtsp協議,c++語言功底好的可以查看live555 。
RTMP協議,自己最近研究的,如果有興趣,可以看看我的其他文章。
相關鏈接:http://www.52player.com/VideoPlayer/2014/121751.html
純HLS(m3u8)跨平台技術(HLSPlayer,m3u8Player跨平台多終端)
1. 這是一款支持m3u8地址在PC電腦端和移動端(安卓Android,蘋果IOS等)播放視頻的播放器。
2. 注意:本實例僅支持hls(m3u8)地址,不支持flv,mp4,mov,f4v,3gp格式,這點請特別注意!
3. 本實例做了跨平台的適配, 支持PC終端,Android安卓終端,iOS蘋果終端,WP終端的正常播放。
* 提示1:本實例請在IIS/Apache等網站環境下測試;
* 提示2:本實例僅支持hls(m3u8)/不支持flv,mp4,f4v;
* 提示3:本實例要求用戶自身有實現HLS技術,即輸出了HLS(m3u8)地址,比如用wowza流媒體軟件輸出;