Amazon Chime 聲開發套件如何使用 WebRTC 技術媒體 - Amazon Chime SDK

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon Chime 聲開發套件如何使用 WebRTC 技術媒體

Amazon Chime 開發套件支援兩種類型的 WebRTC 工作階段:標準和高畫質。下列主題說明在針對 React JavaScript、iOS 和 Android 使用 Amazon Chime SDK 用戶端程式庫時,每種類型工作階段中可用的媒體。

音訊

每個 Amazon Chime 用戶端都會傳送一個音訊串流到工作階段,並從工作階段接收一個音訊串流。通常,本機裝置上的麥克風會產生音訊。接收到的音訊是從其他工作階段用戶端傳送的音訊混合。

這兩種會話類型都支持高達 48kHz 的採樣率和最多 2 個通道(立體聲),使用 Opus 編解碼器使用高達 128kbps 的比特率進行編碼。不過,傳送和接收的音訊串流會因用戶端程式庫類型而有所不同:

  • 適用於 JavaScript 和 React 的 Amazon Chime SDK 用戶端程式庫支援以裝置和瀏覽器所支援的最高取樣率傳送和接收 mono 和立體聲音訊,最高可達 48kHz。

  • 適用於 iOS 和 Android 的 Amazon Chime SDK 用戶端程式庫支援傳送高達 48 千赫的 mono 音訊,並以 48 千赫的速度接收立體聲音訊。

影片

每個 Amazon Chime 用戶端都可以傳送一個視訊串流到工作階段,並從工作階段接收最多 25 個視訊串流。傳送的視訊通常來自本機裝置的網路攝影機。每個客戶端最多可以選擇 25 個視頻流來接收,並在會話期間隨時更改選擇。

標準工作階段支援高達 1280x720 的視訊解析度,每秒 30 個影格編碼,使用 H.264、VP8、VP9 和 AV1 的位元速率最高可達 1500kbps。

高解析度工作階段支援高達 1920x1080 的視訊解析度,每秒 30 個影格編碼,使用 H.264、VP8、VP9 和 AV1 的位元速率最高可達 2500kbps。

適用於 JavaScript 和 React 的 Amazon Chime SDK 用戶端程式庫支援以每秒 15 個畫面的速度同步廣播傳送影片,或使用可擴展的視訊編碼 (SVC)。SVC 使用三個空間層和三個時間層為目標值的 100%、50% 和 25% 對單一視訊串流進行編碼。服務會根據檢視者的可用頻寬,自動選取要傳送給每個檢視器的圖層。

適用於 iOS 和安卓系統的 Amazon Chime SDK 用戶端程式庫支援每秒傳送高達 15 個影格。不過,實際的畫面播放速率和解析度會由 Amazon Chime 開發套件自動管理。

視訊編碼和解碼會在可用的情況下使用硬體加速來改善效能。

如果用戶端傳送的位元速率大於允許的最大位元率的視訊,工作階段會先開始透過即時控制通訊協定傳送用戶端接收器「預估最大位元速率」訊息。如果用戶端繼續以大於允許的最大位元速率傳送視訊,工作階段會捨棄傳入的視訊串流封包。

內容分享

最多兩個用戶端可以將內容共用至工作階段。內容共用可以包含視訊軌道、音軌或兩者。內容共享的一個常見例子是屏幕共享,它使用屏幕捕獲作為內容的來源。另一個例子是與視頻和音軌共享預先錄製的內容。

內容音訊會混合到工作階段傳送的音訊串流中。內容音訊支援高達 48kHz 的取樣率,以及使用 Opus 編解碼器以高達 128kbps 的位元率編碼的 2 個聲道 (立體聲)。

視訊內容會傳送至工作階段,並在個別的視訊串流中轉寄給用戶端。標準會話支持高達 1920x1080 的內容視頻,每秒 30 幀。高解析度工作階段支援高達 3840 x 2160 的內容視訊,每秒 30 個影格。

內容共用的螢幕擷取會使用正在擷取的螢幕或視窗的解析度、工作階段類型的最大內容解析度,以及每秒最多 30 個畫面。但是,設備和瀏覽器功能可能會限制這些值。

適用於 JavaScript 和 React 的 Amazon Chime SDK 用戶端程式庫支援來自螢幕擷取和其他來源的內容共用。

適用於 iOS 和 Android 的 Amazon Chime SDK 用戶端程式庫僅支援螢幕擷取的內容共用。

資料訊息

資料訊息可讓用戶端在工作階段中向其他用戶端廣播資訊。例如,應用程式可能會在工作階段期間使用資料訊息來分享表情符號反應。

每條資料訊息包括:

  • 一個主題,最多 64 個字符的字符串。

  • 最多 2 KB 的資料,包括主題。

客戶端向會話發送數據消息,並且會話將數據消息發送到所有連接的客戶端。

工作階段可選擇性地快取資料訊息最多五分鐘。如果用戶端加入或重新連線到工作階段,工作階段會自動傳送任何先前未傳送的快取資料訊息給用戶端。會話緩存存儲最多 1024 個數據消息。

工作階段最多支援每秒 100 則已傳送的資料訊息。使用實時轉錄時,每個客戶端都會通過數據消息接收轉錄消息,這些消息被計入每秒發送的消息總數中。