本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Chime SDK 會議如何使用 WebRTC 媒體
Amazon Chime SDK 支援兩種類型的 WebRTC 工作階段,標準和高解析度。下列主題說明使用適用於 JavaScript、React、iOS 和 Android 的 Amazon Chime SDK 用戶端程式庫時,每種工作階段類型中可用的媒體。
音訊
每個 Amazon Chime 用戶端都會傳送一個音訊串流到工作階段,並從工作階段接收一個音訊串流。一般而言,本機裝置上的麥克風會產生音訊。收到的音訊是來自其他工作階段用戶端的音訊組合。
這兩種工作階段類型都支援高達 48kHz 的取樣率,以及使用 Opus 轉碼器以高達 128kbps 的位元速率編碼的最多 2 個頻道 (立體聲)。不過,傳送和接收的音訊串流會因用戶端程式庫類型而有所不同:
-
適用於 JavaScript 和 React 的 Amazon Chime SDK 用戶端程式庫支援以裝置和瀏覽器支援的最高範例速率傳送和接收單聲道和立體聲音訊,最高可達 48kHz。
-
適用於 iOS 和 Android 的 Amazon Chime SDK 用戶端程式庫支援傳送高達 48kHz 的單聲道音訊,並以 48kHz 接收立體聲音訊。
影片
每個 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 和 Android 的 Amazon Chime SDK 用戶端程式庫支援每秒傳送高達 15 個影格。不過,實際的影格速率和解析度是由 Amazon Chime SDK 自動管理。
視訊編碼和解碼使用硬體加速來改善效能。
如果用戶端傳送的影片位元速率大於允許的位元速率上限,工作階段會先開始透過即時控制通訊協定傳送用戶端接收者預估位元速率上限訊息。如果用戶端繼續傳送位元速率大於允許的位元速率上限的影片,工作階段會捨棄傳入的影片串流封包。
內容共用
最多兩個用戶端可以將內容共用至工作階段。內容共用可以包含影片音軌、音訊音軌或兩者。內容共用的常見範例是螢幕共用,其使用螢幕擷取做為內容的來源。另一個範例是與視訊和音訊音軌共用預先錄製的內容。
內容音訊會混合到工作階段傳送的音訊串流中。內容音訊支援高達 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 個傳送的資料訊息。使用即時轉錄時,每個用戶端都會透過資料訊息接收轉錄訊息,這些訊息會計入每秒傳送的訊息總數。