我们将openssl aes-128 encryption用于Apple的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

请帮助任何人。

最佳答案

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

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

关于ios - 适用于Apple HTTP Live Streaming的openssl aes-128加密问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13047767/

10-11 09:27
查看更多