如何使用流媒體資料代理功能?

來源:互聯網
上載者:User

標籤:使用   資料   io   for   art   cti   代碼   div   

在“AnyChat Platform Core SDK V2.8”版本的SDK中,新增加了“使用者流媒體資料代理功能”,使用該功能可以實現指定使用者將其它使用者的流媒體資料(音頻、視頻)做為自己的資料,轉寄給請求指定使用者相關資料的使用者。

 

應用情境:將指定使用者(P)設定為其它使用者(A)資料(音頻、視頻資料)的代理,當第三方使用者(C)向指定使用者(P)請求資料時,第三方使用者(C)將會收到其它使用者(A)的資料(音頻、視頻)。

 

使用該功能,可以實現某些特殊的應用,如在會議直播的應用中,可以設定多個代理使用者(P),來代理主會場(A)的流媒體資料,當其它使用者(C)向代理使用者請求流媒體資料時,將會擷取到主會場(A)的流媒體資料,這樣便可以將資料進行分流,避免主會場(A)使用者由於有太多的使用者請求而導致網路擁塞。

 

當會議規模比較大時,比較理想的部署方案是:部署多個代理使用者,主會場的資料只發送給代理使用者(只有代理使用者請求),普通使用者只請求代理使用者的資料,這樣便實現了多級資料傳遞功能,節約了主會場所在網路的頻寬壓力。

 

典型的流媒體資料代理功能範例程式碼如下:

 

  01. // 代理使用者編號為11的使用者的視頻、語音資料 02. DWORD  dwUserId = 11; 03. BRAC_SetSDKOption(BRAC_SO_PROXY_VIDEOCTRL,( const  char *)&dwUserId, sizeof ( DWORD )); 04. BRAC_SetSDKOption(BRAC_SO_PROXY_AUDIOCTRL,( const  char *)&dwUserId, sizeof ( DWORD )); 05. // 啟動代理模式 06. BOOL  bStartProxy = TRUE; 07. BRAC_SetSDKOption(BRAC_SO_PROXY_FUNCTIONCTRL,( const  char *)&bStartProxy, sizeof ( DWORD )); 08. // 請求使用者編號為11的使用者的語音、視頻資料 09. BRAC_UserCameraControl(dwUserId,TRUE); 10. BRAC_UserSpeakControl(dwUserId,TRUE);

 

 

註:代理使用者(P)必須主動請求被代理使用者(A)的相關資料,其它使用者(C)才能從代理使用者(P)處獲得被代理使用者(A)的相關資料;其它使用者(C)是直接請求代理使用者(P)的資料,而不需要請求被代理使用者(A)的資料。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.