語音即時通信分析

一、

二、

輸入端可以是屏幕也可以是攝像頭,通過軟件將音頻、視頻轉換爲數據,然後該數據流通過管道傳輸到服務器上面。如果軟件具備一定的服務器功能,也可以直接發送到CDN上面。如果傳輸到服務器的大後臺,還可以在該大後臺上增加一些廣告,用戶會看一部分視頻,看一部分廣告,再看一部分視頻,這些是可以在服務器端實時實現的。最後到達客戶端。客戶端有一個動態碼流適配的功能,也就是HLS.

三、

輸入端通過數據轉碼或者壓縮,發送到RTMP服務器上。而這一個RTMP服務器可以將數據推送到多個終端上面,這個過程也是可以通過RTMP協議進行傳輸的。傳輸之前也可以對數據進行一定的加工處理,比如加上廣告、加上彩蛋。然後可以通過HLS技術將其推送到客戶端進行顯示。

四、

五、

六、

服務端將數據發送到另一個客戶端,服務端對數據進行識別消費再轉發到另一個客戶端。對於普通的字符串消息來說沒有太大問題,因爲本身就要識別這個字符串,但是對於語音消息來說,識別這個消息其實沒多大意義,不可能說在服務器上播放這個語音。此時需要做的就是將該語音全部丟給另一個客戶端。如果把它識別爲某一個packet,然後再丟成另一個packet的話,其實非常消耗cpu和內存。

 

七、

一個客戶端將數據發送給另一個客戶端的時候,它是通過兩者在服務端都掛上一個管道,服務器知道說所有這個客戶端發送過來的數據直接無條件地轉發給你,而你發送的消息也無條件地轉發給另一個客戶端。服務器只是接收、發送,不做任何的識別,這就是橋接技術的實現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章