加密的直播流不在IOS5中播放,而是在IOS4中播放 [英] Encrypted Live stream does not play in IOS5 but plays in IOS4
问题描述
基本上下面显示的分段视频文件播放列表在IOS4中播放但在IOS5中没有播放,所以我猜在编码,分段或加密方面没有错误。
basically the below shown segmented video files playlist plays fine in IOS4 but not in IOS5, so i guess that there is no error in the encoding, segmenting or the encryption.
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xx.x.xx/ios/keys/key.txt",IV=0x00000000000000000000000000000000
#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-1.ts
#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-2.ts
...
#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-502.ts
#EXTINF:10,
http://xxx.xx.x.xx/ios/myvideo/stream-503.ts
#EXT-X-ENDLIST
错误是'操作无法完成'在野生动物园。但如果文件未加密,则同一列表可以正常运行。
the error is a blunt 'The operation could not be completed' in the safari. but the same list plays fine if the files are not encrypted is both OS versions.
此 主题 似乎在讨论一个类似的问题问题,但解决方案是公开的。
This thread seems to discuss a similar issue but the solution is closed to public.
我也遇到了这个 主题 ,这表明它与#EXT-X-TARGETDURATION
标签,但我无法理解它。
i also came across this thread which suggests it is related to the #EXT-X-TARGETDURATION
tag but i cannot make out much about it.
推荐答案
根据文档这里 IV标签是可选的,这个解释了序列号应该使用如果IV丢失,则解密时为IV.
As per the docs here the IV tag is optional and this explains that sequence no should be used as IV while decryption if IV is missing.
问题IOS4和IOS5处理不同的问题
the problem IOS4 and IOS5 handles them differently
所以这个适用于IOS5,但在IOS4中输入错误
so this works for IOS5, but threw error in IOS4
#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xx.x.xx/ios/keys/key.txt"
适用于IOS4,但在IOS5中抛出错误
while this works for IOS4, but throws error in IOS5
#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xx.x.xx/ios/keys/key.txt",IV=0x00000000000000000000000000000000
<在我的情况下。
in my case.
这篇关于加密的直播流不在IOS5中播放,而是在IOS4中播放的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!