1

我正在使用 AWS Lambda 创建具有 HLS 内容保护的弹性转码器作业。

按照此处的文档: http ://docs.aws.amazon.com/elastictranscoder/latest/developerguide/content-protection.html 最后它说:“注意如果您选择不存储,Elastic Transcoder 将返回您的数据密钥作为一部分作业对象,但不存储它。您负责存储数据密钥。”

但是一旦工作完成,我看不到获取数据密钥的方法。在我的 AWS Lambda 源代码中,我有(javascript):

elastictranscoder.createJob(params, function(err, data) {
    if (err) {
        console.log('Error!', JSON.stringify(err, null, 2));
        context.fail();
    } else {
        console.log('Success! Data: ', JSON.stringify(data, null, 2));
        context.succeed();
    }
});

作业成功完成,但我在数据对象中看不到数据键(查看日志时)。我的想法是获取它并添加一些将数据密钥存储在某处的代码。

谢谢你的帮助!

4

1 回答 1

2

根据文档,

如果您将提供密钥,请指定“不存储”,或者您将通过阅读作业或作业完成通知来确定密钥。此选项要求您提供许可证获取 URL,并在此处提供密钥以供视频播放器使用。这是生产系统更常见的情况。

这意味着当创建作业时,我们将DataKey(key)在成功响应中找到 。这是响应对象Job.Outputs.Encryption.Key 您可以在或中找到数据键

您可以从 AWS ElasticTranscoder 作业详细信息中获取数据密钥,只需将鼠标悬停在输出部分 -> 输出密钥(锁定图标),(加密密钥是数据密钥)|| 或播放列表-> 将鼠标悬停在主播放列表上

如果要限制或阻止未经授权的用户观看视频,则必须在 License Acquisition URL 上实施身份验证系统,以便视频播放器需要附加数据才能进行身份验证。

这是截图

于 2019-01-11T12:36:57.853 回答