直播在2016年是一個(gè)非?;馃岬念I(lǐng)域,我也有幸在今年參與了新浪微博直播客戶端的開發(fā),在此分享一下關(guān)于直播開發(fā)的一些經(jīng)驗(yàn)。
1.視頻直播的基本原理
視頻直播的過程大概由這么幾個(gè)部分構(gòu)成:
- 推流端
- 源服務(wù)器
- CDN邊緣節(jié)點(diǎn)
- 播放端
整個(gè)直播流轉(zhuǎn)的過程是:推流端將視頻流推向源服務(wù)器,源服務(wù)器對(duì)視頻流進(jìn)行編碼或者轉(zhuǎn)存,CDN負(fù)責(zé)負(fù)載均衡與緩存,CDN節(jié)點(diǎn)從源服務(wù)器獲取視頻流,播放端再?gòu)腃DN上把視頻流拉下來。
2.不同的直播協(xié)議
-
HLS
HLS全稱是Http live stream,是蘋果公司主導(dǎo)的一種直播協(xié)議,完全符合http協(xié)議標(biāo)準(zhǔn),Html對(duì)其原生進(jìn)行支持,所以這種協(xié)議的優(yōu)勢(shì)就在于無論是在web端,還是iOS端都可以方便快捷的播放HLS的視頻流。HLS協(xié)議不僅支持直播還支持點(diǎn)播,廣泛的應(yīng)用于H5產(chǎn)品當(dāng)中。
HLS本身請(qǐng)求的是一個(gè)m3u8格式的文件:#EXTM3U m3u文件頭,必須放在第一行 #EXT-X-MEDIA-SEQUENCE 第一個(gè)TS分片的序列號(hào) #EXT-X-TARGETDURATION 每個(gè)分片TS的最大的時(shí)長(zhǎng) #EXT-X-ALLOW-CACHE 是否允許cache #EXT-X-ENDLIST m3u8文件結(jié)束符
網(wǎng)友評(píng)論