程式設計師小記:朋友圈都在玩的一對一同城視訊交友系統開發技術小結

一對一直播原始碼15753857573發表於2018-09-18

伴隨著直播市場的快速發展,特別是“一對一視訊聊天”的社交軟體也越加火爆。對於直播市場來說,“一對一視訊"的形式衝擊了整個市場,更是削弱了直播軟體的流量。“一對一”是相對“一對多”直播而存在,這樣的方式更加真實化和精準化。那麼一對一直播程式的技術要求也越來越高,說到底技術難點無非就體現在了直播錄製這一塊。   1、一個典型的直播流程:錄製->編碼->網路傳輸(推流->伺服器處理->CDN分發)->解碼->播放

2、IPB:一種常用的視訊壓縮方案,用I幀表示關鍵幀,B幀表示前向差別幀,P幀表示雙向差別幀

3、GOP (Group of Pictures):GOP 越長(I幀之間的間隔越大),B 幀所佔比例越高,編碼的率失真效能越高。雖然B幀壓縮率高,但解碼時CPU壓力會更大。

4、音視訊直播質量好壞的主要指標: 內容延時 、 卡頓(流暢度) 、 首幀時長 音視訊直播需要克服的主要問題:網路環境、多人連麥、主輔路、瀏覽器相容性、CDN支援等

MSE (Media Source Extensions):

W3C 標準API,解決 HTML5 的流問題(HTML5 原生僅支援播放 mp4/webm 非流格式,不支援 FLV),允許JavaScript動態構建

1、檔案格式/封裝格式/容器格式 :一種承載視訊的格式,比如flv、avi、mpg、vob、mov、mp4等。而視訊是用什麼方式進行編解碼的,則與Codec相關。舉個栗子,MP4格式根據編解碼的不同,又分為nMP4、fMP4。nMP4是由巢狀的Boxes 組成,fMP4格式則是由一系列的片段組成,因此只有後者不需要載入整個檔案進行播放。

2、Codec :多媒體數字訊號編碼解碼器,能夠對音視訊進行壓縮(CO)與解壓縮( DEC ) 。CODEC技術能有效減少數字儲存佔用的空間,在計算機系統中,使用硬體完成CODEC可以節省CPU的資源,提高系統的執行效率。

3、常用視訊編碼 :MPEG、H264、RealVideo、WMV、QuickTime。

4、常用音訊編碼 :PCM、WAV、OGG、APE、AAC、MP3、Vorbis、Opus。

程式設計師小記:朋友圈都在玩的一對一同城視訊交友系統開發技術小結
二、現有方案比較

RTMP協議

1、基於TCP

2、adobe壟斷,國內支援度高

3、瀏覽器端依賴Flash進行播放

4、2---5秒的延遲

RTP協議

1、Real-time Transport Protocol,IETF於1996提出的一個標準

2、基於UDP

3、實時性強

4、用於視訊監控、視訊會議、IP電話

5、CDN廠商、瀏覽器不支援

程式設計師小記:朋友圈都在玩的一對一同城視訊交友系統開發技術小結
HLS 協議

1、Http Live Streaming,蘋果提出的基於HTTP的流媒體傳輸協議

2、HTML5直接支援(video),適合APP直播,PC斷只有Safari、Edge支援

3、必須是H264+AAC編碼

4、因為傳輸的是切割後的音視訊片段,導致內容延時較大

flv.js

1、Bilibli開源,解析flv資料,通過MSE封裝成fMP4餵給video標籤

2、編碼為H264+AAC

3、使用HTTP的流式IO(fetch或stream)或WebSocket協議流式的傳輸媒體內容

4、2---5秒的延遲,首幀比RTMP更快

程式設計師小記:朋友圈都在玩的一對一同城視訊交友系統開發技術小結

WebRTC協議

1、Google力推,已成為W3C標準

2、現代瀏覽器支援趨勢,X5也支援(微信、QQ)

3、基於UDP,低延遲,弱網抗性強,比flv.js更有優勢

4、支援Web上行能力

5、編碼為H264+OPUS

6、提供NAT穿透技術(ICE)

在這個“事事可直播,人人可主播”的時代,我相信,不管是直播還是一對一視訊交友,都必須要保證直播平臺是在一個足夠穩定、安全的情況,才能給予使用者、主播及遊客的良好使用體驗才能夠讓平臺獲得更多大流量,也能為主播帶來更多的人氣,畢竟只有牢固的基才能夠做更多實際性意義的事。否則如果是在平臺運營過程中出現的任何狀況都可能給平臺帶來不可挽回的損失。 總而言之,在多重因素的作用下,網路直播未來發展前景依然廣闊,行業規模仍有大幅增長的潛力,引領行業發展的三巨頭也必然會成為最大的受益者。(文/布穀科技,一對一交友、短視訊原始碼、直播系統、區塊鏈、小程式。原生開發原始碼可進行無限二次開發,專業定製一條龍服務 QQ:2484556775,微信:15753857573 ,價格公道,合作共贏!)

相關文章