1

我们正在为 Apple使用openssl aes-128 encryption流媒体。HLS video streaming

以下是用于aes-128 encryption

openssl aes-128-cbc -salt -k <HEXKey> -iv <HEXIV> -in <INFILE> -out <OUTFILE>

在我的Playlist / Index文件下面用于 hls 流式传输。

#EXTM3U
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-ALLOW-CACHE:NO
#EXT-X-VERSION:2
#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xxxx.xxx/key.txt",IV=0x00000000000000000000000000000000
#EXT-X-TARGETDURATION:10
#EXTINF:10,
http://xxx.xxxx.xxx/encry.ts
#EXT-X-ENDLIST  

其中,key.txt包含格式为 的十六进制键0x00000000000000000000000000000000

但这不起作用,也不能在IOS设备上播放媒体。提供错误为This movie could not be played

我不确定,有什么问题。这个问题是encryption method还是playlist file

请帮我。我会欣赏的。

提前致谢

编辑 :

我觉得,以下信息很少,如果有任何问题,可能会有所帮助。

下面是我用来创建十六进制的命令keyIV

openssl enc -aes-128-cbc -k String@MyKey -P -md sha1

如果有任何问题,请帮助我。

现在我的播放列表文件解析很好Media Stream Validator,但是在验证媒体时它给出了以下错误。

unable to parse segment due to encryption

请帮助任何人。

4

4 回答 4

3

您的问题实际上与文件'key.txt'有关。HLS 规范说,#EXT-X-KEY 标记中的 URI 属性必须指向一个文件,该文件具有二进制格式的 16 个八位字节数组,而不是您提供的十六进制字符串。

有关更多信息,请参阅:https ://datatracker.ietf.org/doc/html/draft-pantos-http-live-streaming-10#section-5

于 2012-11-06T11:53:34.577 回答
2

好吧,实际问题是key.txt我在几个小时前才找到的文件。我key.txt的 , 不应该包含hexkey, 但应该包含16bytes键。

所以我的密钥创建方法并在加密方法和playlist文件中使用它是错误的步骤。

以下是我所做的更改,并开始工作。

创建密钥的命令

openssl rand -base64 12 

现在我在 key.txt 文件中添加了这个密钥,并且我的 index.m3u8 文件指向了这个密钥文件。

用于加密的命令,使用上述密钥的 c# 使用 hexdump<hex-key>

openssl aes-128-cbc -e -in <infile> -out <outfile> -p -nosalt -iv <hex-iv>  -K <hex-key>
于 2012-11-06T14:15:13.793 回答
0

您的 EXT-X-KEY 语法错误:

在密钥 uri 之前应该是URI而不是Key

#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xxxx.xxx/key.txt",IV=0x00000000000000000000000000000000
于 2012-10-24T14:28:36.683 回答
0

我有同样的问题,但仅在 IOS 设备上(chromecast、firefox 等浏览器都可以)这是我的播放列表

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:4
#EXT-X-MEDIA-SEQUENCE:0
#EXT-X-PLAYLIST-TYPE:VOD
#EXT-X-KEY:METHOD=AES-128,URI="https://xxxxxx/xxxxx/xxxxxx/xxx/xxxxx/xxxx/xxxx_enc.key",IV=0x000000000000000000
#EXTINF:3.840000,
xxx_480p_000.ts
#EXTINF:1.440000,
xxx_480p_001.ts
#EXT-X-ENDLIST

我检查了 safari web 检查器,但我无法理解,密钥已正确下载,但在下载第一段时停止

有同样问题的人吗?

在此处输入图像描述

于 2019-12-20T16:13:50.797 回答