天天看點

産品百科 |Ali RTC Android 網絡環境監控與弱網政策

音視訊通信 RTC(Real-Time Communication)是阿裡雲覆寫全球的實時音視訊開發平台,依托核心音視訊編解碼、信道傳輸、網絡排程技術,提供高可用、高品質、超低延時的音視訊通信服務,讓使用者快速搭建多端實時應用,适用于線上教育、視訊會議、互動娛樂、音視訊社交等場景。

産品連結:

https://www.aliyun.com/product/rtc 阿裡雲 RTC 提供網絡品質監控功能,您可以通過使用 AliRtcNetworkQuality 回調來擷取網絡品質評價。

功能簡介

在網絡品質不理想的情況下,音視訊通信的品質受客觀因素影響會下降。當監控到弱網環境時,為保證基礎通信體驗,建議您使用 SDK 對應的方法分别在釋出端和訂閱端進行如下優化。

  • 調整視訊流規格:通過設定較低檔位規格的 VideoProfile,減少視訊通信的網絡資源占用。
  • 切換視訊為小流:小流有着與大流相同的寬高比,但是分辨率和碼率相對較低,網絡資源占用的需求較低。
  • 僅釋出音頻流:在極端網絡環境下,可以選擇隻發送音頻流,進而保證通信的持續。

通過使用 AliRtcNetworkQuality 回調擷取的網絡評價如下所示。

枚舉名 描述
Network_Excellent 網絡極好,流程度清晰度品質好
Network_Good 網絡好,流暢度清晰度和極好差不多
Network_Poor 網絡較差,音視訊流暢度清晰度有瑕疵,不影響溝通
Network_Bad 網絡差,視訊卡頓嚴重,音頻能正常溝通
Network_VeryBad 網絡極差,基本無法溝通
Network_Disconnected 網絡中斷
Network_Unknow 未知原因

實作方法

在實作該功能之前,需要您已經搭建 AppServer、實作基本功能等操作。詳情請參見

入門概述

具體實作方法如下所示。

您可以通過 onNetworkQualityChanged(網絡狀況變化時回調)方法獲得網絡品質,然後在根據實際政策進行優化。

void onNetworkQualityChanged(String uid, AliRtcNetworkQuality upQuality, AliRtcNetworkQuality downQuality);      
參數 類型
downQuality AliRtcNetworkQuality 下行網絡品質
upQuality 上行網絡品質
uid String 使用者 ID
  • 您可以在視訊中調用 setVideoProfile 設定視訊流規格。

    說明 通過設定較低規格的視訊流,減少視訊通信的網絡資源占用。

//調用示例
mAliRtcEngine.setVideoProfile(profile, vt);
//接口方法
public void setVideoProfile(AliRtcVideoProfile profile, AliRtcVideoTrack track);      
profile AliRtcVideoProfile 視訊流參數。預設分辨率 480*640,幀率 15 的相機流。
track AliRtcVideoTrack 需要設定的視訊流類型。
  • 調用 configRemoteCameraTrack 将訂閱視訊切換為小流。說明當網絡品質恢複優良狀态時,請您根據實際需求決定是否切換至優先訂閱大流(即預設的訂閱模式)。
//接口方法
public void configRemoteCameraTrack(String uid, boolean master, boolean enable)
//重新訂閱
mAliRtcEngine.subscribe(uid);      
master boolean 是否大流
enable 是否可用
    • 訂閱視訊切換為小流可以編寫如下代碼:
mAliRtcEngine.configRemoteCameraTrack(uid, false, true);
mAliRtcEngine.subscribe(uid);      
    • 訂閱視訊切換為大流可以編寫如下代碼:
mAliRtcEngine.configRemoteCameraTrack(uid, true, true);
mAliRtcEngine.subscribe(uid);      
  • 調用 configLocalCameraPublish 方法實作僅釋出音頻流。

    說明 當網絡品質恢複優良狀态時,請您根據實際需求決定是否重新釋出音視訊流。

mAliRtcEngine.configLocalCameraPublish(false);
mAliRtcEngine.publish();      
是否允許

獲得更多功能實作方法,請參見 

AliRtcEngine 接口
「視訊雲技術」你最值得關注的音視訊技術公衆号,每周推送來自阿裡雲一線的實踐技術文章,在這裡與音視訊領域一流工程師交流切磋。
産品百科 |Ali RTC Android 網絡環境監控與弱網政策