辦公地址:武漢市漢陽(yáng)區漢陽(yáng)城云頂B2棟362-364
業(yè)務(wù)直線(xiàn):(同微信)
編導A組熱線(xiàn):18627781752
編導B組熱線(xiàn):15623970772
平面設計熱線(xiàn):15871811072
全國服務(wù)熱線(xiàn):027-84212627
Qq:270143234 / 2219738351
為什么直播現場(chǎng)的信息,用戶(hù)通過(guò)手機或者網(wǎng)站就能很快的看到呢?為什么有時(shí)候網(wǎng)絡(luò )不穩定,直播效果會(huì )有延遲呢?現場(chǎng)的視頻信號又是如何傳到網(wǎng)絡(luò )呢?
這些所有問(wèn)題的產(chǎn)生,都離不開(kāi)視頻直播中常說(shuō)的兩個(gè)詞:推流和拉流。
什么是推流?
推流,指的是把采集階段封包好的內容傳輸到服務(wù)器的過(guò)程。其實(shí)就是將現場(chǎng)的視頻信號傳到網(wǎng)絡(luò )的過(guò)程?!竿屏鳌箤W(wǎng)絡(luò )要求比較高,如果網(wǎng)絡(luò )不穩定,直播效果就會(huì )很差,觀(guān)眾觀(guān)看直播時(shí)就會(huì )發(fā)生卡頓等現象,觀(guān)看體驗很是糟糕。
要想用于推流還必須把音視頻數據使用傳輸協(xié)議進(jìn)行封裝,變成流數據。常用的流傳輸協(xié)議有RTSP、RTMP、HLS等,使用RTMP傳輸的延時(shí)通常在1–3秒,對于手機直播這種實(shí)時(shí)性要求非常高的場(chǎng)景,RTMP也成為手機直播中最常用的流傳輸協(xié)議。最后通過(guò)一定的Qos算法將音視頻流數據推送到網(wǎng)絡(luò )斷,通過(guò)CDN進(jìn)行分發(fā)。
在直播場(chǎng)景中,網(wǎng)絡(luò )不穩定是非常常見(jiàn)的,這時(shí)就需要Qos來(lái)保證網(wǎng)絡(luò )不穩情況下的用戶(hù)觀(guān)看直播的體驗,通常是通過(guò)主播端和播放端設置緩存,讓碼率均勻。另外,針對實(shí)時(shí)變化的網(wǎng)絡(luò )狀況,動(dòng)態(tài)碼率和幀率也是最常用的策略。
直播中使用廣泛的「推流協(xié)議」一般是RTMP(Real Time Messaging Protocol——實(shí)時(shí)消息傳輸協(xié)議)。該協(xié)議是一個(gè)基于TCP的協(xié)議族,是一種設計用來(lái)進(jìn)行實(shí)時(shí)數據通信的網(wǎng)絡(luò )協(xié)議,主要用來(lái)在Flash/AIR平臺和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進(jìn)行音視頻和數據通信。支持該協(xié)議的軟件包括Adobe Media Server/Ultrant Media Server/red5等。
什么是拉流?
拉流是指服務(wù)器已有直播內容,根據協(xié)議類(lèi)型(如RTMP、RTP、RTSP、HTTP等),與服務(wù)器建立連接并接收數據,進(jìn)行拉取的過(guò)程。拉流端的核心處理在播放器端的譯碼和渲染,在互動(dòng)直播中還需集成聊天室、點(diǎn)贊和禮物系統等功能。
拉流端現在支持RTMP、HLS、HDL(HTTP-FLV)三種協(xié)議,其中,在網(wǎng)絡(luò )穩定的情況下,對于HDL協(xié)議的延時(shí)控制可達1s,完全滿(mǎn)足互動(dòng)直播的業(yè)務(wù)需求。RTMP是Adobe的專(zhuān)利協(xié)議,開(kāi)源軟件和開(kāi)源庫都支持的比較好,延時(shí)一般在1-3秒。HLS是蘋(píng)果提出的基于HTTP的流媒體傳輸協(xié)議,優(yōu)先是跨平臺性比較好,HTML5可以直接打開(kāi)播放,移動(dòng)端兼容性良好,但是缺點(diǎn)是延遲比較高。
推流和拉流的區別?
用戶(hù)最終看到一條直播視頻,可能會(huì )通過(guò)兩種方式達成,一種是主動(dòng)把內容傳輸到服務(wù)器,緩存在邊緣節點(diǎn),終端用戶(hù)隨時(shí)可以調取觀(guān)看,這是推流;一種是當終端用戶(hù)想要看某個(gè)內容時(shí),將內容從源站調取,并緩存到邊緣節點(diǎn),這是拉流。