本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
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,請完成下列步驟:
-
amazon-kinesis-video-streams-webrtc-sdk-android/build.gradle
使用 Open as Project 開啟,將 Android WebRTC 匯入 SDK Android Studio 整合開發環境 (IDE)。 -
如果是第一次開啟專案,專案會自動同步。如果不是,請啟動同步。當您看到建置錯誤時,請選擇安裝遺失套件 SDKs (安裝遺失套件),然後選擇接受並完成安裝,以選擇安裝。 SDK
-
進行 Amazon Cognito (使用者集區和身分集區) 設定。如需詳細步驟,請參閱為 設定 Amazon Cognito SDK。這會產生建置 Android WebRTC 所需的身分驗證和授權設定SDK。
-
在 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
。 -
請確定您的 Android 裝置已連線至執行 Android 的電腦IDE。在 Android 中IDE,選取連線的裝置,然後建置並執行 WebRTC Android SDK。
此步驟會在您的 Android 裝置上安裝名為
AWSKinesisVideoWebRTCDemoApp
的應用程式。使用此應用程式,您可以驗證行動、WebRTC 和 IoT 裝置用戶端之間的即時 Web 音訊/視訊串流。
執行範例應用程式
請完成下列步驟:
-
在您的 Android 裝置上,使用新的 (先建立) 或現有的 Amazon Cognito 帳戶來開啟AWSKinesisVideoWebRTCDemoApp和登入。
-
在 中AWSKinesisVideoWebRTCDemoApp,導覽至頻道組態頁面,然後建立新的訊號頻道或選擇現有的頻道。
注意
目前,使用此 中的範例應用程式SDK,您只能在 中執行一個訊號頻道AWSKinesisVideoWebRTCDemoApp。
-
選擇性:如果您要以檢視器身分連線到此頻道,請選擇唯一的 Client Id (用戶端 ID)。只有在多個檢視器連線至頻道時,才需要用戶端 ID。這有助於頻道的主節點識別各自的檢視器。
-
選擇 AWS 區域 ,以及您要傳送音訊或視訊資料,還是兩者。
-
若要驗證 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 裝置檢視器之間的串流
-
在攝影機裝置上,以主節點模式下載、建置和執行 適用於嵌入式裝置的 Amazon Kinesis Video Streams 搭配 C RTC SDK 中的網頁。
-
使用上述程序,在 Android 裝置上下載、建置和執行 SDK Android WebRTC。AWSKinesisVideoWebRTCDemoApp 在此 Android 裝置上以檢視器模式開啟,並確認檢視器可以看到內嵌SDK主控端的音訊/視訊資料。
-
-
Peer-to-peer 在 Android 裝置之間串流做為主瀏覽器,在 Web 瀏覽器之間串流做為檢視器
-
使用上述程序,在 Android 裝置上下載、建置和執行 SDK Android WebRTC。AWSKinesisVideoWebRTCDemoApp 在此 Android 裝置上以主模式開啟 START MASTER(選擇 ),以啟動新的工作階段 (訊號頻道)。
-
以檢視器身分下載、建置和執行 JavaScript 適用於 Web 應用程式的 Amazon Kinesis Video Streams 搭配網RTCSDK路,並確認檢視器可以看到 Android 主節點的音訊/視訊。
-
-
為 設定 Amazon Cognito SDK
必要條件
-
建議使用 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 並在 開啟IAM主控台https://console.aws.amazon.com/iam/
。 在左側導覽中,選擇角色。
尋找並選取您在上面建立的角色。
注意
如有需要,請使用搜尋列。
選取連接的許可政策。
選擇 Edit (編輯)。
選取 JSON索引標籤,並以下列內容取代政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cognito-identity:*", "kinesisvideo:*" ], "Resource": [ "*" ] } ] }
選取下一步。
如果尚未選取,請選取此新版本設定為預設值旁的方塊。
選取儲存變更。