2016-03-15 37 views
2

在java組呼叫應用程序示例中,如何訪問每個用戶的kurento媒體管道。是否有可能獲得單獨的管道?Kurento集團呼叫示例:訪問個人用戶管道

當我打印埃維連接用戶的mediapipeline的Id我得到的結果相同

user1: b524a269-cef8-4070-99d4-e8895b7e6fb8_kurento.MediaPipeline 
user2: b524a269-cef8-4070-99d4-e8895b7e6fb8_kurento.MediaPipeline 

當我們創建WebRtcEndpoint我們使用類似this.outgoingMedia = new WebRtcEndpoint.Builder(pipeline).build();

這裏的pipeline對象是相同的所有UserSession()

我想在每個用戶的媒體管道上應用我的過濾器。可能嗎 ?

EDIT1:

這裏我們在UserSession()使用pipeline拿到傳出 WebRtcEndpoint

this.outgoingMedia = new WebRtcEndpoint.Builder(pipeline).build(); 

,這是我怎麼我的過濾器連接到走出去webrtcendpoint的mediapipeline。

VADCustomFilter vadfilter = new VADCustomFilter.Builder(this.outgoingMedia.getMediaPipeline(), name).build(); 
this.outgoingMedia.connect(vadfilter); 

編輯2:

解決了這個問題,在創建過濾器對象,然後引發事件時發送該用戶名時,我設置的用戶名,我現在的過濾器對象上設置標籤和獲取此標記在啓示正在給出正確輸出的事件時

回答

1

管道是相同的,因爲只有同一管道中的元素才能連接。

完全可以爲每個輸入添加一個過濾器,但這可能需要修改新用戶到達時創建的連接。

+0

好,那麼需要進行所有修改? –

+0

不是微不足道的,你需要更多的元素(你的過濾器),然後還要注意媒體是這樣連接的:WebRTC - > FIlter - > RemoteWebRTC – santoscadenas

+0

沒問題,但每個用戶分開的WebRTC端點使用相同的媒體管道爲整個組創建一次。因此,'管道'是相同的,我從過濾器獲取事件,但無法將其映射到單獨的分界線 –