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

2021-08-25 05:42:49 字數 716 閱讀 9290

二、理解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控制和會場通知 

部分邏輯:

給janus_videoroom結構體裡面增加乙個 janus_videoroom_publisher *room_publisher;

在建立房間成功後,既例項化這個物件room_publisher;

初始進入房間或者列舉房間的publisher的時候,只返回這個物件即可,不返回room結構體裡面的participants列表中的使用者id,這樣每個subscriber都對應的是這個publisher物件;

然後在**包過來的時候,列舉room_publisher中的subscriber,逐個分發即可。

centos搭建janus伺服器

1 借鑑官網 2 可能會碰到 如果缺少這個庫,janus的http與https通訊方式就會不支援 3 libnice git clone cd libnice autogen.sh configure prefix usr make sudo make install4 libsrtp,2.0.0以...

webrtc開源伺服器janus安裝

1.掌握深度學習影象處理 基於keras tensorflow opencv 2.掌握web前後端設計 基 於flask框架 3.開發基於web端的深度學習影象,把web端應用與人工智慧相結合 編譯執行 janus server 需要依賴較多的一些第三方庫,而這些依賴庫在 ubuntu 下主要通過 ...

webrtc伺服器janus通訊方法學習二

閘道器部署了乙個客戶端可以利用的介面。這個janus.js庫以透明的方式使用它,其中與之交流的介面都封裝好了,也可以自己使用其他方式進行通訊,我不使用js介面與之通訊,我使用window socket進行,下面描述了api暴露的介面和協議,使用。1.the gateway root janus by...