視訊問題概觀
建立視訊通話涉及許多元件和程序。 步驟包括從相機裝置取得視訊串流、瀏覽器編碼、瀏覽器解碼、視訊轉譯等等。 如果上述任何階段發生問題,使用者就可能會發生視訊相關問題。 例如,使用者可能會抱怨看不到視訊或視訊品質不佳。 因此,了解視訊內容如何從傳送者流向接收者,對於偵錯和減緩視訊問題至關重要。
端對端觀點的視訊通話運作方式
我們在此使用 Azure 通訊服務群組通話作為範例。
當傳送者在通話中啟動視訊時,SDK 會在內部透過瀏覽器 API 擷取相機視訊串流。
SDK 與伺服器在訊號層完成訊號交握之後,就會開始將視訊串流傳送至伺服器。
瀏覽器會在 RTP (即時傳輸通訊協定) 層執行視訊編碼和封包處理,以進行傳輸。
通話中的其他參與者會從伺服器接收通知,指出來自傳送者的視訊串流可用性。
您的應用程式可以決定是否要訂閱視訊串流。
如果您的應用程式訂閱來自伺服器的視訊串流 (例如,使用 createView
API),伺服器就會將傳送者的視訊封包轉送給接收者。
接收者的瀏覽器會解碼並轉譯傳入的視訊。
當您使用 ACS Web 通話 SDK 進行視訊通話時,SDK 和瀏覽器可根據可用的頻寬來調整傳送者的視訊品質。 此調整作業可能包括變更解析度、每秒畫面格數和目標位元速率。 此外,傳送者端的 CPU 多載也會影響瀏覽器對於編碼目標解析度的決定。
視訊通話中的常見問題
我們了解整個程序牽涉到傳送者相機裝置等因素。 傳送者和接收者兩端的網路條件也有著重要作用。 頻寬和封包遺失可能會影響使用者察覺到的視訊品質。
我們在此列出數個常見的視訊問題,以及每個問題的潛在原因:
使用者看不到來自遠端參與者的視訊
- 當使用者訂閱傳送者的視訊時,該視訊不可用
- 訂閱視訊時,遠端視訊會變成無法使用
- 應用程式在訂閱視訊時處置視訊轉譯器
- 已達到作用中視訊訂閱數目的上限
- 視訊傳送者的瀏覽器位於背景中
- 視訊傳送者意外地中斷通話
- 視訊傳送者發生網路問題
- 接收者遇到網路問題
- 收到畫面但未解碼
使用者只看到遠端參與者的視訊呈現整片黑色
- 視訊傳送者的瀏覽器位於背景中
使用者體驗不佳的視訊品質
- 視訊傳送者的網路品質不良
- 接收者的網路品質不良
- 視訊傳送者或接收者的環境負載繁重
- 接收者訂閱多個傳入視訊串流