我们将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
请帮我。我会感激的。
提前致谢
编辑:
如果发现错误,在下面的信息中,我可能会有所帮助。
以下是我用于创建十六进制
key
和IV
的命令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/