乙個完整直播app功能分析

2021-07-31 07:38:08 字數 2991 閱讀 1566

2、禮物

3、直播列表

4、自己直播

5、房間邏輯

6、使用者邏輯

7、**直播

8、統計

9、超管

直播效果圖

直播流程.png

直播架構.png

位元速率:進行壓縮後每秒顯示的資料量。

壓縮前的每秒資料量:幀率x解析度(單位應該是若干個位元組)

opengl:opengl(全寫open graphics library)是個定義了乙個跨程式語言、跨平台的程式設計介面的規格,它用於三維圖象(二維的亦可)。opengl是個專業的圖形程式介面,是乙個功能強大,呼叫方便的底層圖形庫。

opengl es:opengl es (opengl for embedded systems) 是 opengl三維圖形 api 的子集,針對手機、pda和遊戲主機等嵌入式裝置而設計。

audiotoolbox:蘋果自帶的音訊硬解碼和硬編碼api

p幀:(差別幀)保留這一幀跟之前幀的差別,解碼時需要用之前快取的畫面疊加上本幀定義的差別,生成最終畫面。(p幀沒有完整畫面資料,只有與前一幀的畫面差別的資料)

b幀:(雙向差別幀)保留的是本幀與前後幀的差別,解碼b幀,不僅要取得之前的快取畫面,還要解碼之後的畫面,通過前後畫面的與本幀資料的疊加取得最終的畫面。b幀壓縮率高,但是解碼時cpu會比較累

幀內(intraframe)壓縮:當壓縮一幀影象時,僅考慮本幀的資料而不考慮相鄰幀之間的冗餘資訊,幀內一般採用有損壓縮演算法

幀間(interframe)壓縮:時間壓縮(temporal compression),它通過比較時間軸上不同幀之間的資料進行壓縮。幀間壓縮一般是無損的

*3.3 音訊編碼技術*

*3.4位元速率控制*

4.推流

*4.1 資料傳輸框架*

librtmp:用來傳輸rtmp協議格式的資料

*4.2 流**資料傳輸協議*

這個協議建立在tcp協議或者輪詢http協議之上。

rtmp協議就像乙個用來裝資料報的容器,這些資料可以是flv中的視音訊資料。乙個單一的連線可以通過不同的通道傳輸多路網路流,這些通道中的包都是按照固定大小的包傳輸的

chunk:訊息包

5.流**伺服器

*5.1常用伺服器*

*5.2資料分發*

回源:當有使用者訪問某乙個url的時候,如果被解析到的那個cdn節點沒有快取響應的內容,或者是快取已經到期,就會回源站去獲取搜尋。如果沒有人訪問,那麼cdn節點不會主動去源站拿.

頻寬:在固定的時間可傳輸的資料總量,

負載均衡: 由多台伺服器以對稱的方式組成乙個伺服器集合,每台伺服器都具有等價的地位,都可以單獨對外提供服務而無須其他伺服器的輔助.

qos(頻寬管理):限制每乙個組群的頻寬,讓有限的頻寬發揮最大的效用

6.拉流

直播協議對比:

直播協議對比.png

hls與rtmp對比:hls主要是延時比較大,rtmp主要優勢在於延時低

http-flv:基於http協議流式的傳輸**內容。

rtsp:實時流傳輸協議,定義了一對多應用程式如何有效地通過ip網路傳送多**資料.

rtp:實時傳輸協議,rtp是建立在udp協議上的,常與rtcp一起使用,其本身並沒有提供按時傳送機制或其它服務質量(qos)保證,它依賴於低層服務去實現這一過程。

rtcp:rtp的配套協議,主要功能是為rtp所提供的服務質量(qos)提供反饋,收集相關**連線的統計資訊,例如傳輸位元組數,傳輸分組數,丟失分組數,單向和雙向網路延遲等等。

7.解碼

*7.1 解封裝*

*7.2 音訊編碼框架*

*7.3 解碼介紹*

軟解碼:用cpu來解碼

9.聊天互動

融雲:乙個比較常用的即時通訊sdk,可作為直播的聊天室

Android APP開啟另乙個APP完整邏輯實現

intent intent new intent intent.action main 知道要跳轉應用的包命與目標activity componentname componentname new componentname kuyu.com.x kuyu.com.x.login.welcomeact...

如何快速搭建乙個完整的移動直播系統?

如何快速搭建乙個完整的移動直播系統?原文連線 1 採集 在這個環節主要處理美顏 水印 模糊等效果。美顏功能幾乎是直播的標配功能。我們調研中發現太多case是因為沒有美顏功能被拋棄使用的。另外國家明確提出了,所有直播都必須打有水印並回放留存15天以上。美顏實際上是通過演算法去識別影象中的 部分,對 區...

vue實現乙個給直播點讚功能

doctype html en utf 8 viewport content width device width,initial scale 1.0 document title head dianzan 點讚 button 點讚數 div div body button style newvue...