【问题标题】:Encrypted Live stream does not play in IOS5 but plays in IOS4加密的直播流在 IOS5 中不播放,但在 IOS4 中播放
【发布时间】:2011-10-27 07:04:49
【问题描述】:

基本上下面显示的分段视频文件播放列表在 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 标签有关,但我无法弄清楚。

【问题讨论】:

    标签: ios streaming ios5 http-live-streaming


    【解决方案1】:

    根据文档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
    

    就我而言。

    【讨论】:

      【解决方案2】:

      对于 iOS5 上的 HLS,TARGETDURATION 值实际上不是目标时长,但需要是最大时长。所以应该设置为文件中最大的段。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-18
        • 1970-01-01
        • 2020-03-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多