網(wǎng)站開發(fā)怎么使用sharepoint網(wǎng)站推廣優(yōu)化外包便宜
文章目錄
- 一、音視頻通信流程
- 二、流媒體協(xié)議
- 1、RTSP
- 2、RTMP
- 3、HLS
- 4、WebRTC
一、音視頻通信流程
音視頻通信完整流程有如下幾個(gè)環(huán)節(jié):采集、編碼、前后處理、傳輸、解碼、緩沖、渲染
等。
每一個(gè)細(xì)分環(huán)節(jié),還有更細(xì)分的技術(shù)模塊。比如,前后處理環(huán)節(jié)有美顏、濾鏡、回聲消除、噪聲抑制等,采集有麥克風(fēng)陣列等,編解碼有H.263,H.264、H.265等。
二、流媒體協(xié)議
1、RTSP
RTSP(Real-Time Streaming Protocol)
,實(shí)時(shí)流式協(xié)議。
- RTSP一般不用作直播場(chǎng)景,RTSP一般用作攝像頭、監(jiān)控等硬件設(shè)備的實(shí)時(shí)視頻流觀看與推送上。
- 現(xiàn)在的瀏覽器都不支持RTSP的播放。
2、RTMP
RTMP(Real Time Messaging Protocol)
,實(shí)時(shí)消息傳輸協(xié)議。是一個(gè)古老的協(xié)議。RMTP最初由Macromedia開發(fā),后被Adobe收購,至今仍被使用。由于RTMP播放視頻需要依賴Flash插件。而Flash插件多年來一直受安全問題困擾,正在被迅速淘汰。因此,目前RTMP主要用于提取stream。也就是當(dāng)設(shè)置解編碼器將視頻發(fā)送到托管平臺(tái)時(shí),視頻將使用RTMP協(xié)議發(fā)送到 CDN,隨后使用另一種協(xié)議(通常是HLS
)傳遞給播放器。
- RTMP協(xié)議是既可以推流、也可以拉流的協(xié)議。一般只用作直播源推流、推流到直播CDN等場(chǎng)景。
- RTMP地址是
rtmp://
開頭的,且推流地址與播放地址是一樣的。 - RTMP協(xié)議的延遲是比較低的,大概在
1-3秒
左右。 - RTMP協(xié)議需要特定的流媒體服務(wù)軟件,如SRS、加入了RTMP插件的Nginx等。
3、HLS
HLS(HTTP Live Streaming)
。由 Apple 開發(fā),旨在能夠從 iPhone 中刪除 flash,如今已成為使用最廣泛的協(xié)議。桌面瀏覽器、智能電視、Android、iOS 均支持 HLS。HTML5 視頻播放器也原生的支持HLS,但不支持 HDS 和 RTMP。這樣就可以觸達(dá)更多的用戶。HLS 支持碼率自適應(yīng),并且支持最新的 H.265 解編碼器,同樣大小的文件,H.265 編碼的視頻質(zhì)量是 H.264 的二倍。
- HLS協(xié)議一般只用作拉流觀看。
- 它工作原理很簡(jiǎn)單,就是通過HTTP協(xié)議下載靜態(tài)文件。HLS協(xié)議的文件由兩部分組成,一是多個(gè)只有幾秒長(zhǎng)度的
.ts
碎片視頻文件,另一個(gè)是記錄這些視頻文件地址的.m3u8
索引文件,且這些靜態(tài)文件都是直接寫入磁盤的。 - 由于HLS協(xié)議實(shí)際上是通過HTTP協(xié)議請(qǐng)求文件的,且HLS相關(guān)文件是直接寫入磁盤的,所以并不需要特殊的流媒體服務(wù)軟件,使用Nginx等HTTP服務(wù)就可以了。
- HLS協(xié)議可以用于點(diǎn)播和直播觀看,其適配多種播放場(chǎng)景,一般加入插件就可以播放了,如網(wǎng)頁加入HLS的js插件就可以播放了,蘋果設(shè)備是原生支持HLS協(xié)議的。
- HLS協(xié)議的直播流也可以適配很多播放場(chǎng)景,但是由于需要生成靜態(tài)文件,直播延遲很大,大概在
5-30秒
左右,使用直播CDN的話,由于邊緣節(jié)點(diǎn)同步等問題,直播延遲甚至可能會(huì)達(dá)到1分鐘
左右。
4、WebRTC
WebRTC(Web Real-Time Communications)
, Web實(shí)時(shí)通信。
- WebRTC是基于UDP的,建立通信后,會(huì)不斷以流式發(fā)送數(shù)據(jù),所以延遲會(huì)比RTMP還要低。
- WebRTC協(xié)議支持推流和拉流,地址一般是以
webrtc://
開頭的,且推流和拉流地址一般也是一樣的。 - WebRTC雖然是點(diǎn)對(duì)點(diǎn)的協(xié)議,但是應(yīng)用在直播場(chǎng)景的話,是需要搭建WebRTC服務(wù)器作為流媒體服務(wù)的。