適用於 Android 的 WebRTC 開發套件 - Kinesis Video Streams

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

適用於 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 開發套件,請完成以下步驟:

  1. 導入安卓 WebRTC 技術 SDK 到安卓工作室集成開發環境 (IDE) 通過打開作為項目打amazon-kinesis-video-streams-webrtc-sdk-android/build.gradle開.

  2. 如果是第一次開啟專案,專案會自動同步。如果不是,請啟動同步。當您看到組建錯誤時,請選擇 Install missing SDK package(s) (安裝缺少的 SDK 套件),然後選擇 Accept (接受) 並完成安裝,以安裝任何必要的 SDK 套件。

  3. 進行 Amazon Cognito (使用者集區和身分集區) 設定。如需詳細步驟,請參閱為 Android WebRTC 開發套件設定 Amazon Cognito。這將產生建置 Android WebRTC 開發套件所需的身分驗證和授權設定。

  4. 在您的 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

  5. 確保您的 Android 裝置已連線至執行 Android IDE 的電腦。在 Android IDE 中,選取連接的裝置,然後建置並執行 WebRTC Android 開發套件。

    此步驟會在您的 Android 裝置上安裝名為 AWSKinesisVideoWebRTCDemoApp 的應用程式。您可以使用此應用程式,驗證行動、Web 和 IoT 裝置用戶端之間的即時 WebRTC 音訊/視訊串流。

執行 Android 範例應用程式

請完成下列步驟:

  1. 在您的 Android 裝置上,使用新的 (先建立) 或現有的 Amazon Cognito 帳戶開啟AWSKinesisVideoWebRTCDemoApp並登入。

  2. 在中 AWSKinesisVideoWebRTCDemoApp,瀏覽至「通道組態」頁面,然後建立新的信號通道或選擇現有的信號通道。

    注意

    目前,使用此 SDK 中的範例應用程式,您只能在中執行一個信號通道。AWSKinesisVideoWebRTCDemoApp

  3. 選擇性:如果您要以檢視器身分連線到此頻道,請選擇唯一的 Client Id (用戶端 ID)。只有在多個檢視器連線至頻道時,才需要用戶端 ID。這有助於頻道的主節點識別各自的檢視器。

  4. 選擇以AWS 區域及是否要傳送音訊或視訊資料,或兩者都傳送。

  5. 若要驗證 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 WebRTC 開發套件設定 Amazon Cognito

必要條件

  • 建議使用 Android Studio 檢查、編輯和執行應用程式的程式碼。我們建議使用最新的穩定版本。

  • 在範例程式碼中,您提供 Amazon Cognito 登入資料。

請依照下列程序設定 Amazon Cognito 使用者集區和身分集區。

設定使用者集區

設定使用者集區
  1. 登入 Amazon Cognito 主控台並確認該區域是否正確。

  2. 在左側導覽中選擇 [使用者集區]。

  3. 在 [使用者集區] 區段中選擇 [建立使用者集區]。

  4. 完成以下各節:

    1. 步驟 1:設定登入體驗-在 Cognito 使用者集區登入選項區段中,選取適當的選項。

      選取下一步

    2. 步驟 2:設定安全性需求-選取適當的選項。

      選取下一步

    3. 步驟 3:配置註冊體驗-選擇適當的選項。

      選取下一步

    4. 步驟 4:設定郵件傳遞-選取適當的選項。

      IAM 角色選取欄位中,選取現有角色或建立新角色。

      選取下一步

    5. 步驟 5:集成您的應用程序-選擇適當的選項。

      初始應用程式用戶端欄位中,選擇機密用戶端

      選取下一步

    6. 步驟 6:檢閱並建立-檢閱先前章節中的選取項目,然後選擇 [建立使用者集區]。

  5. 在 [使用者集區] 頁面上,選取您剛建立的集區。

    複製使用者集區 ID 並記下此項,以供稍後使用。在檔awsconfiguration.json案中,這是CognitoUserPool.Default.PoolId

  6. 選取 [應用程式整合] 索引標籤,然後前往頁面底部。

  7. 在 [應用程式用戶端清單] 區段中,選擇您剛建立的應用程式用戶端名稱

    複製用戶端 ID 並記下以供稍後使用。在檔awsconfiguration.json案中,這是CognitoUserPool.Default.AppClientId

  8. 顯示用戶端密碼,並記下以供稍後使用。在檔awsconfiguration.json案中,這是CognitoUserPool.Default.AppClientSecret

設定身分集區

設定身分集區
  1. 登入 Amazon Cognito 主控台並確認該區域是否正確。

  2. 在左側導覽中,選擇 [識別集區]。

  3. 選擇 建立身分池

  4. 設定身分識別集區。

    1. 步驟 1:設定識別集區信任-完成下列各節:

      • 使用者存取-選取已驗證存取

      • 已驗證身分來源-選取 Amazon Cognito 使用者集區

      選取下一步

    2. 步驟 2:設定權限-在 [已驗證的角色] 區段中,完成下列欄位:

      • IAM 角色-選取 [建立新的 IAM 角色]

      • IAM 角色名稱-輸入名稱並記下它以供稍後步驟使用。

      選取下一步

    3. 步驟 3:Connect 身分識別提供者-在 [使用者集區詳細資料] 區段中,完成下列欄位:

      • 使用者集區 ID-選取您之前建立的使用者集區。

      • 應用程式用戶端 ID-選取您之前建立的應用程式用戶端 ID。

      選取下一步

    4. 步驟 4:配置屬性-在 [身分識別集區名稱] 欄位中輸入名稱

      選取下一步

    5. 步驟 5:檢閱並建立-檢閱您在每個區段中的選擇,然後選取 [建立身分集區]。

  5. 在 [身分識別集區] 頁面上,選取新的身分識別集區。

    複製身分集區 ID 並記下此項目以供稍後使用。在檔awsconfiguration.json案中,這是CredentialsProvider.CognitoIdentity.Default.PoolId

  6. 更新 IAM 角色的許可。

    1. 登入 AWS Management Console,並開啟位於 https://console.aws.amazon.com/iam/ 的 IAM 主控台。

    2. 在左側導覽列中,選擇 [角色]。

    3. 尋找並選取您在上面建立的角色。

      注意

      如有需要,請使用搜尋列。

    4. 選取附加的權限原則。

      選擇 Edit (編輯)。

    5. 選取 JSON 索引標籤,並以下列項目取代原則:

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cognito-identity:*", "kinesisvideo:*" ], "Resource": [ "*" ] } ] }

      選取下一步

    6. 如果尚未選取,請選取 [將此新版本設定為預設版本] 旁邊的核取方塊。

      選取儲存變更