AWS Elastic转码器,HLS内容保护,No Store,如何获取数据密钥

时间:2017-01-04 10:52:37

标签: amazon-web-services aws-lambda amazon-elastic-transcoder

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

按照以下文档: http://docs.aws.amazon.com/elastictranscoder/latest/developerguide/content-protection.html 最后它说: “注意 如果选择No Store,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();
    }
});

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

感谢您的帮助!

1 个答案:

答案 0 :(得分:2)

根据文档

  

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

这意味着在创建作业后,我们将在成功响应中找到DataKey(key)Here is the response Object。您可以在Job.Outputs.Encryption.Key中找到数据密钥 或

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

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

Here is screenshot