加密設定

本主題包含有關與視頻加密有關的編碼設置的詳細信息。

概覽

Zencoder可以對視頻文件執行AES加密。我們的實現旨在與HTTP Live Streaming(HLS)輸出兼容,但可以類似地用於加密任何視頻文件。當用於分段輸出時,僅分段文件將被加密(如預期的那樣使清單/播放列表文件可讀)。對於HLS輸出,必要的密鑰/ IV數據將添加到M3U8清單文件中,並且加密密鑰文件將與其他可交付文件一起包括(如果適用)。

在以下情況下開啟加密encryption_keyencryption_key_urlencryption_method, 要么encryption_key_rotation_period被指定。

請注意,您指定加密方式的方式取決於您所使用的播放器期望如何接收密鑰。例如,VideoJS需要原始字節(而不是十六進製字符串),在這種情況下,您要使用encryption_key_url而不是encryption_key,必須將其作為十六進製字符串傳遞給Zencoder。

加密方法

encryption_method:String

API 版本:V2

上級:輸出

有效值:“無”,“ aes-128-cbc”,“ aes-128-ctr”,“ aes-256-cbc”或“ aes-256-ctr”

兼容的工作類型:伏特

例: AES-128-BCC

描述:

設置用於加密的加密方法。

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_method": "aes-128-cbc"
    }
  ]
}

加密金鑰

encryption_key:String

API 版本:V2

上級:輸出

有效值:16個八位字節的十六進製字符串(長32個字符,可選的“ 0x”前綴)

兼容的工作類型:伏特

例: a5f6a7d6ef5d6a7a02a23dd35dd56a63

描述:

設置要使用的單個加密密鑰,而不是讓Zencoder生成一個。傳遞加密密鑰與密鑰旋轉不兼容。如果使用密鑰旋轉,則Zencoder將生成並返回加密密鑰。

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_key": "a5f6a7d6ef5d6a7a02a23dd35dd56a63"
    }
  ]
}

加密密鑰

encryption_key_url:String

API 版本:V2

上級:輸出

有效值:包含16字節二進制密鑰的文件的URL

兼容的工作類型:伏特

例: http://example.com/encryption.key

描述:

設置要使用的單個加密密鑰,而不是讓Zencoder生成一個。指定為包含16字節二進制密鑰的文件的URL。

這將作為HLS清單中密鑰文件的URL包含在內,輸出中將不包含加密密鑰文件。如果未指定encryption_key,則Zencoder將嘗試下載該文件並將其用於加密輸出。

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_key_url": "http://example.com/encryption.key"
    }
  ]
}

加密金鑰旋轉週期

encryption_key_rotation_period:Number

API 版本:V2

上級:輸出

有效值:大於0的數字

兼容的工作類型:伏特

例:+10

描述:

當Zencoder生成加密密鑰時,請為每組段使用不同的密鑰,在這許多段之後旋轉為新的密鑰。

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_key_rotation_period": 10
    }
  ]
}

加密鍵 _ 網址前綴

encryption_key_url_prefix:String

API 版本:V2

上級:輸出

有效值:網址或相對路徑

兼容的工作類型:伏特

例:鍵/

描述:

如果未指定encryption_key_url,則在將其包含在清單中之前,先將其添加到加密密鑰文件名中。否則,假定可以從清單文件的相同路徑訪問這些鍵。如果字符串中使用問號,則前綴將按原樣使用,否則,將在前綴末尾添加斜杠(除非已經以斜杠結尾)。

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_key_url_prefix": "keys/"
    }
  ]
}

加密

encryption_iv:String

API 版本:V2

上級:輸出

有效值:16個八位字節的十六進製字符串(長32個字符,可選的“ 0x”前綴)

兼容的工作類型:伏特

例: a5f6a7d6ef5d6a7a02a23dd35dd56a63

描述:

設置要在加密時使用的初始化向量,為16個八位字節的十六進製字符串。如果未指定分段輸出,則將使用從零開始的遞增IV值對分段進行加密(與HLS規範一致)。

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_iv": "a5f6a7d6ef5d6a7a02a23dd35dd56a63"
    }
  ]
}

加密密碼 (_L)

encryption_password:String

API 版本:V2

上級:輸出

有效值:一串

兼容的工作類型:伏特

例:超級秘密密碼

描述:

設置用於生成初始化向量的密碼。分段輸出不支持。非分段的輸出需要encryption_iv或encryption_password。

{
  "input": "s3://zencodertesting/test.mov",
  "outputs": [
    {
      "type": "segmented",
      "encryption_password": "super-secret-password"
    }
  ]
}