直播在2016年是一個非?;馃岬念I(lǐng)域,我也有幸在今年參與了新浪微博直播客戶端的開發(fā),在此分享一下關(guān)于直播開發(fā)的一些經(jīng)驗。

1.視頻直播的基本原理

視頻直播的過程大概由這么幾個部分構(gòu)成:

  • 推流端
  • 源服務(wù)器
  • CDN邊緣節(jié)點
  • 播放端

直播架構(gòu).jpg

整個直播流轉(zhuǎn)的過程是:推流端將視頻流推向源服務(wù)器,源服務(wù)器對視頻流進行編碼或者轉(zhuǎn)存,CDN負責負載均衡與緩存,CDN節(jié)點從源服務(wù)器獲取視頻流,播放端再從CDN上把視頻流拉下來。

2.不同的直播協(xié)議

  • HLS
    HLS全稱是Http live stream,是蘋果公司主導的一種直播協(xié)議,完全符合http協(xié)議標準,Html對其原生進行支持,所以這種協(xié)議的優(yōu)勢就在于無論是在web端,還是iOS端都可以方便快捷的播放HLS的視頻流。HLS協(xié)議不僅支持直播還支持點播,廣泛的應(yīng)用于H5產(chǎn)品當中。
    HLS本身請求的是一個m3u8格式的文件:
    #EXTM3U                     m3u文件頭,必須放在第一行 #EXT-X-MEDIA-SEQUENCE       第一個TS分片的序列號 #EXT-X-TARGETDURATION       每個分片TS的最大的時長 #EXT-X-ALLOW-CACHE          是否允許cache #EXT-X-ENDLIST              m3u8文件結(jié)束符 
            		

    網(wǎng)友評論