

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

# Amazon Kinesis Video Streams with WebRTC SDK in C for embedded device
<a name="kvswebrtc-sdk-c"></a>

以下step-by-step說明說明如何下載、建置和執行適用於嵌入式裝置的 C 中的 Kinesis Video Streams with WebRTC SDK 及其對應的範例。

支援下列轉碼器：
+ **音訊： **
  + G.711 A-Law
  + G.711 U-Law
  + Opus
+ **影片：**
  + H.264
  + H.265
  + VP8

## 下載軟體開發套件
<a name="gs-download-sdk"></a>

若要下載適用於嵌入式裝置的 C 中的 Kinesis Video Streams with WebRTC SDK，請執行下列命令：

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

## 建置 SDK
<a name="gs-build-sdk"></a>

**重要**  
在 macOS 上完成這些步驟之前，視您擁有的 macOS 版本而定，您必須執行 `xcode-select --install`以使用命令列工具和標頭下載套件。然後開啟 `/Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14.pkg` 並遵循安裝程式來安裝命令列工具和標頭。您只需要在叫用 之前執行一次。 `cmake`如果您已安裝命令列工具和標頭，則不需要再次執行此命令。

請完成下列步驟：

****

1. 安裝 CMake：
   + 在 macOS 上，執行 `brew install cmake pkg-config srtp` 
   + 在 Ubuntu 上，執行 `sudo apt-get install pkg-config cmake libcap2 libcap-dev`

1. 取得您要用於此示範之 AWS 帳戶 的存取金鑰和私密金鑰。

1. 執行以下命令，在您下載的 WebRTC C 開發套件中建立 `build` 目錄，然後從中執行 `cmake`：

   ```
   $ mkdir -p amazon-kinesis-video-streams-webrtc-sdk-c/build; cd amazon-kinesis-video-streams-webrtc-sdk-c/build; cmake ..
   ```

1. 現在您已位於您剛使用上述步驟建立的`build`目錄中，請執行 `make` 來建置 WebRTC C 開發套件及其提供的範例。
**注意**  
 如果系統尚未`gstreamer`安裝 ，則`kvsWebrtcClientMasterGstSample`不會建置 。若要確保其已建置 （在 macOS 上），您必須執行： `brew install gstreamer gst-plugins-base gst-plugins-good`

## 執行 SDK 範例
<a name="gs-run-c-sample"></a>

完成上述程序之後，最後在 `build` 目錄中會出現下列範例應用程式：
+ `kvsWebrtcClientMaster` - 此應用程式透過訊號頻道傳送範例 H264/Opus 影格 (路徑：/samples/h264SampleFrames 和 /samples/opusSampleFrames)。也會接受傳入的音訊 (如果在瀏覽器中啟用)。在瀏覽器中檢查時，將會在終端機列印收到的音訊封包的中繼資料。
+ `kvsWebrtcClientViewer` - 此應用程式接受並印列範例 H264/Opus 影格。
+ `kvsWebrtcClientMasterGstSample` - 此應用程式從 GStreamer 管道傳送範例 H264/Opus 影格。

若要執行任何這些範例，請完成下列步驟：

1. 使用 AWS 帳戶 登入資料設定您的環境：

   ```
   export AWS_ACCESS_KEY_ID=YourAccessKey
   export AWS_SECRET_ACCESS_KEY=YourSecretKey
   export AWS_DEFAULT_REGION=YourAWSRegion
   ```

   如果您使用的是暫時 AWS 登入資料，也請匯出工作階段字符：

   ```
   export AWS_SESSION_TOKEN=YourSessionToken
   ```

   如果您有自訂 CA 憑證路徑要設定，您可以使用下列方式設定：

   ```
   export AWS_KVS_CACERT_PATH=../certs/cert.pem
   ```
**注意**  
根據預設，SSL CA 憑證設定為 ../certs/cert.pem，指向 [GitHub](https://github.com/awslabs/amazon-kinesis-video-streams-webrtc-sdk-c/blob/master/certs/cert.pem) 中此儲存庫中的 檔案。

1. 將您要給訊號頻道的名稱傳給其中一個範例應用程式，以執行應用程式。應用程式會使用您提供的名稱建立訊號頻道。例如，若要建立名為 `myChannel` 的訊號頻道，並開始透過此頻道傳送範例 H264/Opus 影格，請執行下列命令：

   ```
   ./kvsWebrtcClientMaster myChannel
   ```

   當命令列應用程式列印 `Connection established` 時，您可以繼續進行下一個步驟。

1. 現在，訊號頻道已建立，且連線的主節點正在將媒體串流至訊號頻道，您可以檢視此串流。例如，您可以在 Web 應用程式中檢視此即時串流。若要這樣做，請使用 中的步驟開啟 WebRTC SDK 測試頁面，[使用範例應用程式](kvswebrtc-sdk-js.md#build-sdk-js)並使用您為上述主伺服器指定的相同 AWS 登入資料和相同訊號通道來設定下列值：
   + 存取金鑰 ID
   + 私密存取金鑰
   + 訊號頻道名稱
   + 用戶端 ID (選擇性)

   選擇 **Start viewer (啟動檢視器)**，開始範例 H264/Opus 影格的即時視訊串流。

## 影片教學課程
<a name="sdk-c-video"></a>

此影片示範如何連接相機並開始使用 Amazon Kinesis Video Streams for WebRTC。


