0

我想要从 Wowza Streaming 到 jwPlayer 的流文件 m3u8。我也想让视频无法阅读或下载,我在链接中阅读:https: //support.jwplayer.com/customer/portal/articles/1430261-aes-content-protection 跟随链接:

var playerInstance = jwplayer("myElement");
playerInstance.setup({
file: 'sample_aes_stream.m3u8',
aestoken: 'EXAMPLE_AES_TOKEN'
});

我使用 AES 解密将我的视频 (.mp4) 加密为 index.m3u8,其中包含许多段文件 (.ts)。文件 m3u8 仅在有密钥文件时读取。但在下面的演示中,我不明白

jwplayer("myElement").setup({
file: 'sample_aes_stream.m3u8',
aestoken: 'EXAMPLE_AES_TOKEN'
});

什么EXAMPLE_AES_TOKEN 是???按照链接: http: //iphim.vn/xem-phim-phut-giay-sinh-tu-3136.html 你可以看到我无法使用 IDM(互联网下载管理器)下载视频。我想做但是不知道怎么做。请帮助我!

4

2 回答 2

0

aestoken 属性实际上是一个令牌。它不是解密视频的关键。HLS 视频可以在其主播放列表中包含一个带有 url 的标签,您可以在其中获取 aes 密钥。例如,对于像这样的主播放列表

#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-VERSION:3
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXTINF:10, 
#EXT-X-KEY:METHOD=AES-128,URI="http://keyserver.com/key.enc",IV=0x1c341b1db8ff5399501511a99c8c7d14**
fileSequence0.ts
#EXTINF:10, 
fileSequence1.ts
#EXT-X-ENDLIST

带有标签#EXT-X-KEY 的行包含处理aes 解密的数据,包括密钥的url。

问题是 url 指出的资源应该受到某种东西的保护......在大多数情况下是一个令牌(通常是一个 JWT)。因此,jwplayer 将对该 url 执行一个 get 请求,附加一个带有键“token”和值等于属性“aestoken”值的查询参数。

所以,如果你的设置是

jwplayer("myElement").setup({
file: 'sample_aes_stream.m3u8',
aestoken: 'EXAMPLE_AES_TOKEN'
});

然后使用上面的示例播放列表,您的 jwplayer 将执行表单的获取请求

http://keyserver.com/key.enc?token=EXAMPLE_AES_TOKEN 

获取加密密钥。此外,该查询参数在 jwplayer 的以下请求中传递。

看看https://developer.jwplayer.com/jwplayer/docs/jw8-enable-aes-decryption

于 2021-05-18T19:05:57.907 回答
0

什么EXAMPLE_AES_TOKEN 是???

是解密视频内容的关键


请确保您的JWPlayer支持HLS-AES128加密

企业版能够解密使用 AES-128 加密的流段。使用加密时,m3u8播放列表文件需要引用对应的密钥文件,以便JW播放器取回密钥进行解密。使用 aestoken 配置,播放器还可以将令牌传递给密钥请求 URI,增强 AES 的安全性。

在 wowza 流媒体上,尝试如何保护 Apple HTTP Live Streaming(AES-128 - 外部方法)

  1. 您需要在 Wowza 进行配置。用于编码视频的设置键。
  2. 提供密钥以解密视频内容的密钥 URL

例如。如果我们在 Wowza 定义 key 是“ PATRICKZ-KEY ”。我们需要在 Key URL使用相同的密钥

<?php
    header('Content-Type: binary/octet-stream');
    header('Pragma: no-cache');
    echo hex2bin('PATRICKZ-KEY');
}
?>
于 2017-10-08T06:31:04.277 回答