Amazon Kinesis Video Streams WebRTC SDK for Android - Kinesis Video Streams

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

Amazon Kinesis Video Streams WebRTC SDK for Android

下列 step-by-step指示說明如何下載、建置和執行 Kinesis Video Streams with WebRTC SDK for Android 及其對應的範例。

注意

Amazon Kinesis Video Streams 不支援 Android 上的IPv6地址。請參閱有關IPv6在 Android 裝置上停用 的詳細資訊。

下載 SDK

若要在 Android SDK中下載 WebRTC,請執行下列命令:

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

建置 SDK

若要在 Android SDK中建置 WebRTC,請完成下列步驟:

  1. amazon-kinesis-video-streams-webrtc-sdk-android/build.gradle 使用 Open as Project 開啟,將 Android WebRTC 匯入 SDK Android Studio 整合開發環境 (IDE)。

  2. 如果是第一次開啟專案,專案會自動同步。如果不是,請啟動同步。當您看到建置錯誤時,請選擇安裝遺失套件 SDKs (安裝遺失套件),然後選擇接受並完成安裝,以選擇安裝。 SDK

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

  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" } } }

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

  5. 請確定您的 Android 裝置已連線至執行 Android 的電腦IDE。在 Android 中IDE,選取連線的裝置,然後建置並執行 WebRTC Android SDK。

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

執行範例應用程式

請完成下列步驟:

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

  2. 在 中AWSKinesisVideoWebRTCDemoApp,導覽至頻道組態頁面,然後建立新的訊號頻道或選擇現有的頻道。

    注意

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

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

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

  5. 若要驗證 peer-to-peer串流,請執行下列任一動作:

    注意

    請確定您在此示範中使用的所有用戶端上指定相同的訊號頻道名稱、 AWS 區域、檢視器 ID 和 AWS 帳戶 ID。

    • Peer-to-peer 兩個 Android 裝置之間的串流:主要裝置和檢視器

      • 使用上述程序,在兩個 Android SDK 裝置上下載、建置和執行 Android WebRTC。

      • AWSKinesisVideoWebRTCDemoApp 在處於主模式的 Android 裝置上開啟 START MASTER(選擇 ),以啟動新的工作階段 (訊號頻道)。

        注意

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

      • AWSKinesisVideoWebRTCDemoApp 在第二個 Android 裝置上以檢視器模式開啟 ,以連線至上述步驟中啟動的訊號頻道 (工作階段) (選擇 START VIEWER)。

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

    • Peer-to-peer 內嵌SDK主伺服器與 Android 裝置檢視器之間的串流

    • Peer-to-peer 在 Android 裝置之間串流做為主瀏覽器,在 Web 瀏覽器之間串流做為檢視器

為 設定 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 並記下此 ID,以供稍後使用。在 awsconfiguration.json 檔案中,這是 CognitoUserPool.Default.PoolId

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

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

    複製用戶端 ID 並記下此 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:連接身分提供者 - 在使用者集區詳細資訊區段中,完成下列欄位:

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

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

      選取下一步

    4. 步驟 4:設定屬性 - 在身分集區名稱欄位中輸入名稱

      選取下一步

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

  5. 身分集區頁面上,選取新的身分集區。

    複製身分集區 ID 並記下此 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. 如果尚未選取,請選取此新版本設定為預設值旁的方塊。

      選取儲存變更