Amazon Kinesis Video Streams 安卓系RTCSDK統 - Kinesis Video Streams

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

Amazon Kinesis Video Streams 安卓系RTCSDK統

下列 step-by-step 指示說明如何下載、建置和執行適用RTCSDK於 Android 版的 Kinesis Video Streams 及其對應範例。

注意

Kinesis Video Streams 不支援安卓系統上的IPv6位址。如需有關在 Android 裝置IPv6上停用的詳細資訊和步驟,請參閱安卓系統https://support.surfshark.com/hc/文章/ow-to-disable360011828279-H。IPv6

下載 SDK

要RTCSDK在安卓系統中下載網絡,請運行以下命令:

$ git clone https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-android.git

建置 SDK

要RTCSDK在安卓系統中構建網頁,請完成以下步驟:

  1. 通過使用打開為項目打開,RTCSDK將安卓網絡導入到 Android 工作室集成amazon-kinesis-video-streams-webrtc-sdk-android/build.gradle發環境(IDE)。

  2. 如果是第一次開啟專案,專案會自動同步。如果不是,請啟動同步。當您看到組建錯誤時,請選擇 [安裝遺失的SDK套件] SDKs 來選擇安裝任何必要項目,然後選擇 [接受] 並完成安裝。

  3. 進行 Amazon Cognito (使用者集區和身分集區) 設定。如需詳細步驟,請參閱為 Amazon Cognito 配置 SDK。這將生成構建 Android 網絡所需的身份驗證和授權設置RTCSDK。

  4. 在您的安卓系統中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" } } }

    以執行 為 Amazon Cognito 配置 SDK中的步驟所產生的值,更新 awsconfiguration.json

  5. 確保您的 Android 設備已連接到運行安卓系統的計算機IDE。在安卓系統中IDE,選擇連接的設備,然後構建並運行網絡RTC安卓系統SDK。

    此步驟會在您的 Android 裝置上安裝名為 AWSKinesisVideoWebRTCDemoApp 的應用程式。使用此應用程序,您可以驗證移動,Web 和 IoT 設備客戶端之間的實時 Web RTC 音頻/視頻流。

執行範例應用程式

請完成下列步驟:

  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 流傳輸:主設備和查看器

      • 使用上述程序,RTCSDK在兩個安卓設備上下載,構建和運行安卓網絡。

      • 在主模式(選擇 STARTMASTER)的一台 Android 設備AWSKinesisVideoWebRTCDemoApp上打開以啟動新會話(信令通道)。

        注意

        目前,任何給定的訊號頻道只能有一個主節點。

      • 以查看器模式在第二個 Android 設備上打開 AWSKinesisVideoWebRTCDemoApp,以連接到上述步驟中啟動的信令通道(會話)(選擇 STARTVIEWER)。

        確認檢視器可以看到主節點的音訊/視訊資料。

    • 在嵌入式SDK主機和 Android 設備查看器之間進行eer-to-peer 流式傳輸

    • 在 Android 設備之間進行eer-to-peer 流式傳輸,作為主瀏覽器和網絡瀏覽器

為 Amazon Cognito 配置 SDK

必要條件

  • 建議使用 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 然後在開啟IAM主控台https://console.aws.amazon.com/iam/

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

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

      注意

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

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

      選擇 Edit (編輯)。

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

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

      選取下一步

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

      選取儲存變更