本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
適用於 Android 的 Amazon Kinesis Video Streams WebRTC 開發套件
下列逐步指示說明如何下載、建置和執行適用於 Android 的 Kinesis Video Streams with WebRTC 開發套件及其對應的範例。
注意
Amazon Kinesis Video Streams 不支援 Android 上的 IPv6 地址。請參閱有關在 Android 裝置上停用 IPv6 
下載軟體開發套件
若要在 Android 中下載 WebRTC 開發套件,請執行下列命令:
$git clone https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-android.git
建置 SDK
若要在 Android 中建置 WebRTC 開發套件,請完成以下步驟:
- 
        amazon-kinesis-video-streams-webrtc-sdk-android/build.gradle使用 Open as Project 開啟,將 Android WebRTC SDK 匯入 Android Studio 整合開發環境 (IDE)。
- 
        如果是第一次開啟專案,專案會自動同步。如果不是,請啟動同步。當您看到組建錯誤時,請選擇 Install missing SDK package(s) (安裝缺少的 SDK 套件),然後選擇 Accept (接受) 並完成安裝,以安裝任何必要的 SDK 套件。 
- 
        進行 Amazon Cognito (使用者集區和身分集區) 設定。如需詳細步驟,請參閱為 SDK 設定 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" } } }以執行 為 SDK 設定 Amazon Cognito 中的步驟所產生的值,更新 awsconfiguration.json。
- 
        確保您的 Android 裝置已連線至執行 Android IDE 的電腦。在 Android IDE 中,選取連接的裝置,然後建置並執行 WebRTC Android 開發套件。 此步驟會在您的 Android 裝置上安裝名為 AWSKinesisVideoWebRTCDemoApp的應用程式。您可以使用此應用程式,驗證行動、Web 和 IoT 裝置用戶端之間的即時 WebRTC 音訊/視訊串流。
執行範例應用程式
請完成下列步驟:
- 
        在您的 Android 裝置上,開啟 AWSKinesisVideoWebRTCDemoApp,並使用新的 (先建立) 或現有的 Amazon Cognito 帳戶登入。 
- 
        在 AWSKinesisVideoWebRTCDemoApp 中,瀏覽至 Channel Configuration (頻道組態) 頁面,然後建立新的訊號頻道,或選擇現有的訊號頻道。 注意目前,使用此開發套件中的範例應用程式時,您在 AWSKinesisVideoWebRTCDemoApp 中只能執行一個訊號頻道。 
- 
        選擇性:如果您要以檢視器身分連線到此頻道,請選擇唯一的 Client Id (用戶端 ID)。只有在多個檢視器連線至頻道時,才需要用戶端 ID。這有助於頻道的主節點識別各自的檢視器。 
- 
        選擇 AWS 區域 ,以及您要傳送音訊或視訊資料,還是兩者。 
- 
        若要驗證點對點串流,請執行下列任何一項: 注意請務必在此示範中使用的所有用戶端上,指定相同的訊號頻道名稱、 AWS 區域、檢視器 ID 和 AWS 帳戶 ID。 - 
            兩個 Android 裝置之間的點對點串流:主節點和檢視器 - 
                在兩個 Android 裝置上,使用上述程序下載、建置和執行 Android WebRTC 開發套件。 
- 
                在一個 Android 裝置上,以主節點模式開啟 AWSKinesisVideoWebRTCDemoApp,選擇 START MASTER (啟動主節點),啟動新的工作階段 (訊號頻道)。 注意目前,任何給定的訊號頻道只能有一個主節點。 
- 
                在您的第二個 Android 裝置上,以檢視器模式開啟 AWSKinesisVideoWebRTCDemoApp,以連線至上述步驟中啟動的訊號頻道 (工作階段),選擇 START VIEWER (啟動檢視器)。 確認檢視器可以看到主節點的音訊/視訊資料。 
 
- 
                
- 
            嵌入式開發套件主節點和 Android 裝置檢視器之間的點對點串流 - 
                在攝影機裝置上,以主節點模式下載、建置和執行 Amazon Kinesis Video Streams with WebRTC SDK in C for embedded device。 
- 
                在 Android 裝置上,使用上述程序下載、建置和執行 Android WebRTC 開發套件。在此 Android 裝置上,以檢視器模式開啟 AWSKinesisVideoWebRTCDemoApp,並確認檢視器可以看到嵌入式 SDK 主節點的音訊/視訊資料。 
 
- 
                
- 
            Android 裝置 (主節點) 和 Web 瀏覽器 (檢視器) 之間的點對點串流 - 
                在 Android 裝置上,使用上述程序下載、建置和執行 Android WebRTC 開發套件。在此 Android 裝置上,以主節點模式開啟 AWSKinesisVideoWebRTCDemoApp,選擇 START MASTER (啟動主節點),啟動新的工作階段 (訊號頻道)。 
- 
                以檢視器身分下載、建置和執行 適用於 Web 應用程式的 JavaScript 中的 Amazon Kinesis Video Streams with WebRTC SDK WebRTC ,並確認檢視器可以看到 Android 主節點的音訊/視訊。 
 
- 
                
 
- 
            
為 SDK 設定 Amazon Cognito
先決條件
- 
          建議使用 Android Studio 檢查、編輯和執行應用程式的程式碼。建議使用最新的穩定版本。 
- 
          在範本程式碼中,您會提供 Amazon Cognito 登入資料。 
請依照這些程序來設定 Amazon Cognito 使用者集區和身分集區。
設定使用者集區
設定使用者集區
- 
                            登入 Amazon Cognito 主控台 並確認區域正確無誤。 
- 
                            在左側導覽中,選擇使用者集區。 
- 
                            在使用者集區區段中,選擇建立使用者集區。 
- 
                            完成下列各節: - 步驟 1:設定登入體驗 - 在 Cognito 使用者集區登入選項區段中,選取適當的選項。 - 選取下一步。 
- 步驟 2:設定安全需求 - 選取適當的選項。 - 選取下一步。 
- 步驟 3:設定註冊體驗 - 選取適當的選項。 - 選取下一步。 
- 步驟 4:設定訊息傳遞 - 選取適當的選項。 - 在 IAM 角色選取欄位中,選取現有角色或建立新角色。 - 選取下一步。 
- 步驟 5:整合您的應用程式 - 選取適當的選項。 - 在初始應用程式用戶端欄位中,選擇機密用戶端。 - 選取下一步。 
- 步驟 6:檢閱並建立 - 檢閱先前區段的選擇,然後選擇建立使用者集區。 
 
- 
                            在使用者集區頁面上,選取您剛建立的集區。 複製使用者集區 ID,並記下此 ID 以供稍後使用。在 awsconfiguration.json檔案中,這是CognitoUserPool.Default.PoolId。
- 
                            選取應用程式整合索引標籤,然後移至頁面底部。 
- 
                            在應用程式用戶端清單區段中,選擇您剛建立的應用程式用戶端名稱。 複製用戶端 ID 並記下此 ID 以供稍後使用。在 awsconfiguration.json檔案中,這是CognitoUserPool.Default.AppClientId。
- 
                            顯示用戶端秘密,並記下此秘密以供稍後使用。在 awsconfiguration.json檔案中,這是CognitoUserPool.Default.AppClientSecret。
設定身分集區
設定身分集區
- 
                    登入 Amazon Cognito 主控台 並確認區域正確無誤。 
- 
                    在左側導覽中,選擇身分集區。 
- 
                            選擇 建立身分池。 
- 設定身分集區。 - 步驟 1:設定身分集區信任 - 完成下列區段: - 使用者存取 - 選取已驗證的存取 
- 已驗證的身分來源 - 選取 Amazon Cognito 使用者集區 
 - 選取下一步。 
- 步驟 2:設定許可 - 在已驗證角色區段中,完成下列欄位: - IAM 角色 - 選取建立新的 IAM 角色 
- IAM 角色名稱 - 輸入名稱並將其記下以供後續步驟使用。 
 - 選取下一步。 
- 步驟 3:連接身分提供者 - 在使用者集區詳細資訊區段中,完成下列欄位: - 使用者集區 ID - 選取您先前建立的使用者集區。 
- 應用程式用戶端 ID - 選取您先前建立的應用程式用戶端 ID。 
 - 選取下一步。 
- 步驟 4:設定屬性 - 在身分集區名稱欄位中輸入名稱。 - 選取下一步。 
- 步驟 5:檢閱並建立 - 檢閱每個區段中的選擇,然後選取建立身分集區。 
 
- 
                            在身分集區頁面上,選取新的身分集區。 複製身分集區 ID 並記下此 ID 以供稍後使用。在 awsconfiguration.json檔案中,這是CredentialsProvider.CognitoIdentity.Default.PoolId。
- 
                            更新 IAM 角色的許可。 - 登入 AWS Management Console 並開啟位於 https://https://console.aws.amazon.com/iam/ - 的 IAM 主控台。 
- 在左側導覽中,選擇角色。 
- 尋找並選取您在上面建立的角色。 - 注意- 如有需要,請使用搜尋列。 
- 選取連接的許可政策。 - 選擇 Edit (編輯)。 
- 選取 JSON 索引標籤,並以下列內容取代政策: - { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cognito-identity:*", "kinesisvideo:*" ], "Resource": [ "*" ] } ] }- 選取下一步。 
- 如果尚未選取,請選取此新版本設定為預設值旁的方塊。 - 選取儲存變更。