本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於 Android 的 WebRTC 開發套件
下列 step-by-step 指示說明如何使用適用於 Android 的 WebRTC 技術 SDK 及其對應範例下載、建置和執行 Kinesis Video Streams。
注意
Kinesis Video Streams 不支援安卓系統上的 IPv6 位址。有關在您的安卓設備上禁用 IPv6 的更多信息和步驟,請參閱 https://support.surfshark.com/hc/en-us/articles/360011828279-H ow-to-disable-
下載適用於 Android 的 WebRTC 開發套件
若要在 Android 中下載 WebRTC 開發套件,請執行下列命令:
$
git clone https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-android.git
在 Android 中建置 WebRTC 開發套件
若要在 Android 中建置 WebRTC 開發套件,請完成以下步驟:
-
導入安卓 WebRTC 技術 SDK 到安卓工作室集成開發環境 (IDE) 通過打開作為項目打
amazon-kinesis-video-streams-webrtc-sdk-android/build.gradle
開. -
如果是第一次開啟專案,專案會自動同步。如果不是,請啟動同步。當您看到組建錯誤時,請選擇 Install missing SDK package(s) (安裝缺少的 SDK 套件),然後選擇 Accept (接受) 並完成安裝,以安裝任何必要的 SDK 套件。
-
進行 Amazon Cognito (使用者集區和身分集區) 設定。如需詳細步驟,請參閱為 Android WebRTC 開發套件設定 Amazon Cognito。這將產生建置 Android WebRTC 開發套件所需的身分驗證和授權設定。
-
在您的 Android IDE 中,開啟
awsconfiguration.json
(從src/main/res/raw/
)。檔案看起來如下:{ "Version": "1.0", "CredentialsProvider": { "CognitoIdentity": { "Default": { "PoolId": "REPLACE_ME", "Region": "REPLACE_ME" } } }, "IdentityManager": { "Default": {} }, "CognitoUserPool": { "Default": { "AppClientSecret": "REPLACE_ME", "AppClientId": "REPLACE_ME", "PoolId": "REPLACE_ME", "Region": "REPLACE_ME" } } }
以執行 為 Android WebRTC 開發套件設定 Amazon Cognito中的步驟所產生的值,更新
awsconfiguration.json
。 -
確保您的 Android 裝置已連線至執行 Android IDE 的電腦。在 Android IDE 中,選取連接的裝置,然後建置並執行 WebRTC Android 開發套件。
此步驟會在您的 Android 裝置上安裝名為
AWSKinesisVideoWebRTCDemoApp
的應用程式。您可以使用此應用程式,驗證行動、Web 和 IoT 裝置用戶端之間的即時 WebRTC 音訊/視訊串流。
執行 Android 範例應用程式
請完成下列步驟:
-
在您的 Android 裝置上,使用新的 (先建立) 或現有的 Amazon Cognito 帳戶開啟AWSKinesisVideoWebRTCDemoApp並登入。
-
在中 AWSKinesisVideoWebRTCDemoApp,瀏覽至「通道組態」頁面,然後建立新的信號通道或選擇現有的信號通道。
注意
目前,使用此 SDK 中的範例應用程式,您只能在中執行一個信號通道。AWSKinesisVideoWebRTCDemoApp
-
選擇性:如果您要以檢視器身分連線到此頻道,請選擇唯一的 Client Id (用戶端 ID)。只有在多個檢視器連線至頻道時,才需要用戶端 ID。這有助於頻道的主節點識別各自的檢視器。
-
選擇以AWS 區域及是否要傳送音訊或視訊資料,或兩者都傳送。
-
若要驗證 peer-to-peer 串流,請執行下列任一項作業:
注意
請務必在此示範中使用的所有用戶端上,指定相同的訊號通道名稱、AWS地區、檢視者 ID 和AWS帳戶 ID。
-
在兩個 Android 設備之間進行eer-to-peer 流傳輸:主設備和查看器
-
在兩個 Android 裝置上,使用上述程序下載、建置和執行 Android WebRTC 開發套件。
-
在主模式下的一台 Android 設備AWSKinesisVideoWebRTCDemoApp上打開(選擇 START MASTER)以啟動新的會話(信令通道)。
注意
目前,任何給定的訊號頻道只能有一個主節點。
-
以查看器模式在第二個 Android 設備上打開 AWSKinesisVideoWebRTCDemoApp,以連接到上述步驟中啟動的信令通道(會話)(選擇 START VIEWER)。
確認檢視器可以看到主節點的音訊/視訊資料。
-
-
在嵌入式 SDK 主機和安卓設備查看器之間進行eer-to-peer 流式傳輸
-
在攝影機裝置上,以主節點模式下載、建置和執行 適用於嵌入式裝置的 C 語言 RTC SDK。
-
在 Android 裝置上,使用上述程序下載、建置和執行 Android WebRTC 開發套件。在此 Android 設備AWSKinesisVideoWebRTCDemoApp上以查看器模式打開,並驗證查看器是否可以看到嵌入式 SDK 主機的音頻/視頻數據。
-
-
在 Android 設備之間進行eer-to-peer 流式傳輸,作為主瀏覽器和網絡瀏覽器
-
在 Android 裝置上,使用上述程序下載、建置和執行 Android WebRTC 開發套件。在此 Android 設備AWSKinesisVideoWebRTCDemoApp上以主模式打開(選擇 START MASTER)以啟動新的會話(信令通道)。
-
以檢視器身分下載、建置和執行 適用於 Web 應用程式的 Kinesis Video Streams 與 WebRTC 技術開發套件 JavaScript ,並確認檢視器可以看到 Android 主節點的音訊/視訊。
-
-
為 Android WebRTC 開發套件設定 Amazon Cognito
必要條件
-
建議使用 Android Studio
檢查、編輯和執行應用程式的程式碼。我們建議使用最新的穩定版本。 -
在範例程式碼中,您提供 Amazon Cognito 登入資料。
請依照下列程序設定 Amazon Cognito 使用者集區和身分集區。
設定使用者集區
設定使用者集區
-
登入 Amazon Cognito 主控台
並確認該區域是否正確。 -
在左側導覽中選擇 [使用者集區]。
-
在 [使用者集區] 區段中選擇 [建立使用者集區]。
-
完成以下各節:
步驟 1:設定登入體驗-在 Cognito 使用者集區登入選項區段中,選取適當的選項。
選取下一步。
步驟 2:設定安全性需求-選取適當的選項。
選取下一步。
步驟 3:配置註冊體驗-選擇適當的選項。
選取下一步。
步驟 4:設定郵件傳遞-選取適當的選項。
在 IAM 角色選取欄位中,選取現有角色或建立新角色。
選取下一步。
步驟 5:集成您的應用程序-選擇適當的選項。
在初始應用程式用戶端欄位中,選擇機密用戶端。
選取下一步。
步驟 6:檢閱並建立-檢閱先前章節中的選取項目,然後選擇 [建立使用者集區]。
-
在 [使用者集區] 頁面上,選取您剛建立的集區。
複製使用者集區 ID 並記下此項,以供稍後使用。在檔
awsconfiguration.json
案中,這是CognitoUserPool.Default.PoolId
。 -
選取 [應用程式整合] 索引標籤,然後前往頁面底部。
-
在 [應用程式用戶端清單] 區段中,選擇您剛建立的應用程式用戶端名稱。
複製用戶端 ID 並記下以供稍後使用。在檔
awsconfiguration.json
案中,這是CognitoUserPool.Default.AppClientId
。 -
顯示用戶端密碼,並記下以供稍後使用。在檔
awsconfiguration.json
案中,這是CognitoUserPool.Default.AppClientSecret
。
設定身分集區
設定身分集區
-
登入 Amazon Cognito 主控台
並確認該區域是否正確。 -
在左側導覽中,選擇 [識別集區]。
-
選擇 建立身分池。
設定身分識別集區。
步驟 1:設定識別集區信任-完成下列各節:
使用者存取-選取已驗證存取
已驗證身分來源-選取 Amazon Cognito 使用者集區
選取下一步。
步驟 2:設定權限-在 [已驗證的角色] 區段中,完成下列欄位:
IAM 角色-選取 [建立新的 IAM 角色]
IAM 角色名稱-輸入名稱並記下它以供稍後步驟使用。
選取下一步。
步驟 3:Connect 身分識別提供者-在 [使用者集區詳細資料] 區段中,完成下列欄位:
使用者集區 ID-選取您之前建立的使用者集區。
應用程式用戶端 ID-選取您之前建立的應用程式用戶端 ID。
選取下一步。
步驟 4:配置屬性-在 [身分識別集區名稱] 欄位中輸入名稱。
選取下一步。
步驟 5:檢閱並建立-檢閱您在每個區段中的選擇,然後選取 [建立身分集區]。
-
在 [身分識別集區] 頁面上,選取新的身分識別集區。
複製身分集區 ID 並記下此項目以供稍後使用。在檔
awsconfiguration.json
案中,這是CredentialsProvider.CognitoIdentity.Default.PoolId
。 -
更新 IAM 角色的許可。
登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/
的 IAM 主控台。 在左側導覽列中,選擇 [角色]。
尋找並選取您在上面建立的角色。
注意
如有需要,請使用搜尋列。
選取附加的權限原則。
選擇 Edit (編輯)。
選取 JSON 索引標籤,並以下列項目取代原則:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cognito-identity:*", "kinesisvideo:*" ], "Resource": [ "*" ] } ] }
選取下一步。
如果尚未選取,請選取 [將此新版本設定為預設版本] 旁邊的核取方塊。
選取儲存變更。