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