

支援終止通知：2025 年 11 月 13 日， AWS 將停止對 Amazon Elastic Transcoder 的支援。2025 年 11 月 13 日之後，您將無法再存取 Elastic Transcoder 主控台或 Elastic Transcoder 資源。

如需轉換至 的詳細資訊 AWS Elemental MediaConvert，請造訪此[部落格文章](https://aws.amazon.com/blogs/media/how-to-migrate-workflows-from-amazon-elastic-transcoder-to-aws-elemental-mediaconvert/)。

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

# HLS 內容保護
<a name="content-protection"></a>

HTTP Live Streaming (HLS) 是一種通訊協定，可在串流時將媒體檔案進行分割以最佳化。HLS 讓媒體播放器以最高品質解析度播放片段，其網路連線在播放期間支援此解析度。

您可以使用 Elastic Transcoder 來加密串流媒體檔案的區段、透過網際網路傳送加密的區段，並在播放時解密。這樣可保護您的媒體內容，並可確保只有授權使用者可以檢視媒體檔案的加密片段。

以下是有 HLS 內容保護的媒體檔案之播放程序摘要：

![\[HLS 播放流程。\]](http://docs.aws.amazon.com/zh_tw/elastictranscoder/latest/developerguide/images/hls-playback.png)


1. 瀏覽網頁的使用者會與 Web 伺服器來進行驗證，此伺服器會設定使用者瀏覽器中的工作階段 Cookie。

1. 使用者會透過 Web 伺服器載入播放器。

1. 播放器會從內容交付網路 (CDN) 擷取主播放清單。主播放清單會為媒體檔案提供可用的位元速率和解析度。

1. 播放器會呼叫 Web 伺服器，這可驗證工作階段 Cookie、檢查使用者是否獲得檢視內容的授權，並傳回資料解密金鑰。

1. 播放器會選擇變體播放清單並從 CDN 擷取關聯的媒體片段。

1. 播放器會使用資料金鑰來解密區段並開始播放媒體。

**注意**  
您可以使用 HLS 內容保護來加密串流檔案的區段，或者您可以加密整個檔案。您無法同時這麼做，因此請勿同時選取 HLS 內容保護和個別檔案保護。

## HLS 內容保護的金鑰
<a name="key-overview"></a>

若要搭配 Elastic Transcoder 使用 HLS 內容保護，您需要兩種類型的金鑰：
+ **AWS KMS key** — 與 Elastic Transcoder 管道相關聯的金鑰
+ **資料金鑰** — 與您的 Elastic Transcoder 任務相關聯的金鑰

您必須擁有 AWS KMS key 才能使用 HLS 內容保護。KMS 金鑰用於在透過網際網路傳送資料金鑰之前加密資料金鑰。建議您建立一個 KMS 金鑰，以搭配所有轉碼任務使用。如需建立和設定 KMS 金鑰的詳細資訊，請參閱 [AWS KMS 搭配 Elastic Transcoder 使用](encryption.md#using-kms)。

加密媒體檔案所用的資料金鑰。相同內容的所有變化和分段都使用相同的資料金鑰來加密。如果您未指定資料金鑰，Elastic Transcoder 會為您產生一個金鑰。

## 串流受 HLS 保護的內容
<a name="hls-cp-setup"></a>

若要提供受 HLS 保護的內容，您必須具有下列項目：
+ 存放加密媒體檔案和資料金鑰的位置。我們建議您將檔案存放在 Amazon S3 中，並將金鑰安全地存放在資料庫中，例如 DynamoDB。如需 DynamoDB 的詳細資訊，請參閱《[Amazon DynamoDB 開發人員指南》中的什麼是 Amazon DynamoDB？](https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/Introduction.html)。 * DynamoDB *
+ (選用) 可串流檔案的內容分發網路 (CDN)。如需 CDNs的詳細資訊，請參閱《Amazon [ CloudFront 開發人員指南》中的 CloudFront 入門](https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/programming-encryption.html)。 *Amazon CloudFront *
+ 能夠驗證和授權使用者並安全地提供資料加密金鑰的應用程式。您可以使用 Amazon EC2 來執行此應用程式。如需詳細資訊，請參閱《[Amazon EC2 使用者指南](https://docs.aws.amazon.com/AWSEC2/latest/WindowsGuide/concepts.html)*》中的使用 Amazon EC2 * 設定 （適用於 Windows 使用者） 或》[Amazon EC2 使用者指南》中的使用 Amazon EC2 設定](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts.html) （適用於 Linux 使用者）。 *Amazon EC2 * 
+ 能夠對加密 HLS 檔案進行解密的播放器。如需詳細資訊，請前往 [Http Live Streaming](http://en.wikipedia.org/wiki/HTTP_Live_Streaming#Client_software)。

## 建立加密的串流內容
<a name="hls-cp-ets-setup"></a>

若要準備檔案以進行 HLS 內容保護，您必須將 KMS 金鑰與新的或現有的管道建立關聯。

若要使用您指定的 KMS 金鑰設定管道，請參閱 [AWS KMS 搭配 Elastic Transcoder 使用](encryption.md#using-kms)。

下列步驟說明如何使用 Elastic Transcoder 主控台來加密檔案，以保護 HLS 內容：

**若要將 HLS 內容保護用於您的檔案**

1. 開啟 Elastic Transcoder 主控台，網址為 https：//[https://console.aws.amazon.com/elastictranscoder/](https://console.aws.amazon.com/elastictranscoder/)。

1. 在導覽窗格中，按一下 **Jobs (任務)**，然後建立新任務。如需詳細資訊，請參閱[在 Elastic Transcoder 中建立任務](creating-jobs.md)。

1. 在 **Output Details (輸出詳細資訊)** 的 **Preset (預設集)** 下拉式清單中，選取 `HLS` 預設集。

1. 將 **Encryption Parameters (加密參數)** 的設定保持為 `None`。

1. 在 **Playlists (播放清單)** 中，按一下 **Add Playlist (新增播放清單)** 並選取 `HLSv3` 或 `HLSv4` 做為播放清單類型。

1. 在 **Content Protection (內容保護)** 中，選取 `Enter Information`。

   a. 若要管理自己的金鑰，請在 **Key Storage Policy (金鑰儲存政策)** 中，選取 `No Store`。在 **License Acquisition Url (取得授權 URL)**，輸入您將存放資料金鑰之位置的絕對路徑。例如：

   ```
   https://www.example.com/datakey
   ```

   我們建議您選取`No Store`金鑰並將其存放在安全的 Amazon S3 儲存貯體或資料庫，例如 DynamoDB。

   b. 若要將金鑰存放在公有 Amazon S3 儲存貯體中，請在**金鑰儲存政策**中，選取 `With Variant Playlists`。Elastic Transcoder 會將您的資料金鑰寫入與播放清單檔案相同的儲存貯體。
**重要**  
使用 `With Variant Playlists` 存放的金鑰會寫入公有儲存貯體。將 `No Store` 用於實際金鑰。

**注意**  
如果您選擇 `No Store`，Elastic Transcoder 會傳回資料金鑰，做為任務物件的一部分，但不會存放它。您需負責資料金鑰的存放。