直播在2016年是一個非?;馃岬念I(lǐng)域,我也有幸在今年參與了新浪微博直播客戶端的開發(fā),在此分享一下關(guān)于直播開發(fā)的一些經(jīng)驗。
1.視頻直播的基本原理
視頻直播的過程大概由這么幾個部分構(gòu)成:
- 推流端
- 源服務(wù)器
- CDN邊緣節(jié)點
- 播放端
整個直播流轉(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é)議不僅支持直播還支持點播,廣泛的應用于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é)束符
延伸閱讀
- ssh框架 2016-09-30
- 阿里移動安全 [無線安全]玩轉(zhuǎn)無線電——不安全的藍牙鎖 2017-07-26
- 消息隊列NetMQ 原理分析4-Socket、Session、Option和Pipe 2024-03-26
- Selective Search for Object Recognition 論文筆記【圖片目標分割】 2017-07-26
- 詞向量-LRWE模型-更好地識別反義詞同義詞 2017-07-26
- 從棧不平衡問題 理解 calling convention 2017-07-26
- php imagemagick 處理 圖片剪切、壓縮、合并、插入文本、背景色透明 2017-07-26
- Swift實現(xiàn)JSON轉(zhuǎn)Model - HandyJSON使用講解 2017-07-26
- 阿里移動安全 Android端惡意鎖屏勒索應用分析 2017-07-26
- 集合結(jié)合數(shù)據(jù)結(jié)構(gòu)來看看(二) 2017-07-26