基本上下面显示的分段视频文件播放列表在IOS4中播放但在IOS5中没有播放,所以我猜在编码,分段或加密方面没有错误。
#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
在safari中错误是'操作无法完成'。但如果文件未加密,则同一列表可以正常运行。
此 thread 似乎讨论了类似的问题,但该解决方案尚未公开。
我也遇到了这个 thread ,这表明它与#EXT-X-TARGETDURATION
标签有关,但我无法理解它。
答案 0 :(得分:0)
根据文档here,IV标记是可选的,this解释如果缺少IV,则解密时序列号不能用作IV。
问题IOS4和IOS5以不同的方式处理它们
所以这适用于IOS5,但在IOS4中引发了错误
#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xx.x.xx/ios/keys/key.txt"
虽然这适用于IOS4,但在IOS5中抛出错误
#EXT-X-KEY:METHOD=AES-128,URI="http://xxx.xx.x.xx/ios/keys/key.txt",IV=0x00000000000000000000000000000000
就我而言。
答案 1 :(得分:0)
对于iOS5上的HLS,TARGETDURATION值实际上不是目标持续时间,但需要是最大持续时间。所以它应该设置为文件中最大的段。