1

我在其中编码了一堆视频Azure Media Services并创建了流媒体端点。一切都按预期工作。现在,我想保护每个视频的端点 URL。例如,我想让每个 URL 有条件地可用(例如每个用户最多一个小时)。是否可以为流端点定义 SAS 令牌(类似于 Azure 存储 SAS 令牌)?或者类似的东西可以完成这项工作?

4

1 回答 1

0

您可以先阅读官方文档。

教程:使用 DRM 动态加密和许可证交付服务

查阅资料后,应该没有类似使用SAS来保护媒体资源。通常,SAS 用于访问 Storage 中的资源。

在本教程中,我们指定内容密钥策略具有令牌限制。令牌限制策略必须附有安全令牌服务 (STS) 颁发的令牌。媒体服务支持 JWT 格式的令牌,这就是我们在示例中配置的内容。

JwtSecurityToken token = new JwtSecurityToken(
    issuer: issuer,
    audience: audience,
    claims: claims,
    notBefore: DateTime.Now.AddMinutes(-5),
    expires: DateTime.Now.AddMinutes(60),
    signingCredentials: cred);

我认为expires可以满足您的需求。

构建流式 URL

// Look for just the DASH path and generate a URL for the Azure Media Player to playback the encrypted DASH content. 
// Note that the JWT token is set to expire in 1 hour. 
if (path.StreamingProtocol == StreamingPolicyStreamingProtocol.Dash)
{
    uriBuilder.Path = path.Paths[0];

    dashPath = uriBuilder.ToString();

}
于 2021-01-29T06:13:51.220 回答