1. 程式人生 > >基於Janus房間伺服器的POC對講實現

基於Janus房間伺服器的POC對講實現

一、理解Janus外掛janus_videoroom的包轉發實現
該外掛模式具備SFU的包轉發能力,每一個進入房間的與會者,可以通過Publish釋出自己的音視訊,也可以通過Subscribe訂閱其他人的音視訊,轉發能力由libnice庫提供

二、理解POC對講半雙工模式下的包轉發實現
POC,是PTT Over Cell 的簡寫,PTT是按下講話的意思,要麼說,要麼聽別人說,不會出現同時講話&聽的情況,所以類似半雙工的通訊方式;如果還沿用janus_videoroom的實現,如果有N個人參與的會議室,那麼每個與會者都需要訂閱其他N-1個人聲音,會有N-1條下行通道,但每次只有一個通道可用,這對通道資源來說是明顯的浪費,所以,我們希望改造成MCU模式,但又不需要做伺服器端的混音操作,完成POC的業務對講能力

三、最後實現
1、給房間增加一個公共的publish物件,所有對房間的訂閱都是訂閱該publish物件,達到支援 從SFU模式到支援MCU轉發模式(適應POC對講模式的MCU模式)
2、支援會場TBCP控制資訊通過DataChannel通道傳遞
3、支援會場TBCP控制和會場通知