我有一个实时的HLS流,AVPlayer
在iOS 9之前正常工作。当我在iOS 10中玩时,它会在播放一两秒后立即停止。我输入这个HLS网址到macOS sierra中的safari获得相同的结果。 Apple在新的操作系统版本中有所改变吗?
我使用HttpScoop捕获HTTP包,开头的两个m3u8
请求返回相同的内容,相同EXT-X-MEDIA-SEQUENCE
,相同EXTINF
,然后不再发送请求{{1} }停止连接。
我不知道如何解决这个问题。有人可以建议检测它有什么问题吗?
AVPlayer
我上面得到了好几次回复
------------------更新----------------------
Media Stream Validator Tool是Apple提供的用于验证hls流的工具。
使用此命令行工具:#EXTM3U
#EXT-X-ALLOW-CACHE:NO
#EXT-X-TARGETDURATION:1
#EXT-X-MEDIA-SEQUENCE:23
#EXTINF:1,
3581652.ts?wsApp=HLS&wsMonitor=-1
#EXTINF:1,
3581655.ts?wsApp=HLS&wsMonitor=-1
#EXTINF:1,
3581658.ts?wsApp=HLS&wsMonitor=-1
,我收到以下错误
:> mediastreamvalidator m3u8_url
因此,我修改了--------------------------------------------------------------------------------
MUST fix issues
--------------------------------------------------------------------------------
Error: Playlist vs segment duration mismatch
--> Detail: Segment duration 3.1600, Playlist duration: 1.0000
和EXT-X-TARGETDURATION
以匹配实际持续时间。 EXTINF
会在AVPlayer
时间内发送请求,它会在多次返回相同结果时关闭连接。
如果EXT-X-TARGETDURATION
太短,我们的hls流服务器不会更新m3u8索引,那么返回相同的m3u8文件。