将HLS流媒体传输到IOS设备

将HLS流媒体传输到IOS设备,ios,http-live-streaming,Ios,Http Live Streaming,我正在尝试将HLS流广播到IOS设备。HLS的工作方式类似于实时会话。 我几乎没有视频文件,并与#EXT-X-ENDLIST共享每个单独的视频。我一个接一个地发送。 第一个视频正常播放,但下一个视频不会从头开始,IOS设备会跳过此hls播放列表 例如: enter code here #EXTM3U #EXT-X-TARGETDURATION:1 #EXT-X-MEDIA-SEQUENCE:1 #EXTINF:1, mystream-1.ts #EXTINF:1, mystream-2.ts #

我正在尝试将HLS流广播到IOS设备。HLS的工作方式类似于实时会话。 我几乎没有视频文件,并与#EXT-X-ENDLIST共享每个单独的视频。我一个接一个地发送。 第一个视频正常播放,但下一个视频不会从头开始,IOS设备会跳过此hls播放列表

例如:

enter code here
#EXTM3U
#EXT-X-TARGETDURATION:1
#EXT-X-MEDIA-SEQUENCE:1
#EXTINF:1,
mystream-1.ts
#EXTINF:1,
mystream-2.ts
#EXTINF:1,
mystream-3.ts
#EXTINF:1,
mystream-4.ts
#EXTINF:1,
mystream-5.ts
#EXTINF:1,
mystream-6.ts
#EXTINF:1,
mystream-7.ts
如果IOS录制了这样的播放列表,那么它不会从mystream-1.ts开始播放,而是从mystream-4.ts开始播放


如何修复它?

当播放列表用于实时流时(没有
#EXT-X-ENDLIST
),客户端将开始播放播放列表末尾的几个片段,这是正常的。这是因为它期望播放列表将不断更新更多的片段,并且客户端将在循环中检索播放列表

您只需在播放列表的末尾添加
#EXT-X-ENDLIST
标记即可解决此问题

或者您可能希望流继续增长,在这种情况下,您可以尝试使用带有以下标签的事件播放列表:
#EXT-X-playlist-TYPE:event


没有指定客户端的预期行为,因此我不确定应用程序是否会从一开始就开始播放,但至少它应该能够从一开始就开始寻找

当播放列表用于实时流(没有
#EXT-X-ENDLIST
)时,客户端将开始播放播放列表末尾的几个片段,这是正常的。这是因为它期望播放列表将不断更新更多的片段,并且客户端将在循环中检索播放列表

您只需在播放列表的末尾添加
#EXT-X-ENDLIST
标记即可解决此问题

或者您可能希望流继续增长,在这种情况下,您可以尝试使用带有以下标签的事件播放列表:
#EXT-X-playlist-TYPE:event


没有指定客户端的预期行为,因此我不确定应用程序是否会从一开始就开始播放,但至少它应该能够从一开始就开始寻找

你知道Android有相同的行为吗?对不起,我现在没有办法测试它。在我的例子中,它从第8个.ts文件播放。你知道Android有相同的行为吗?对不起,我现在没有办法测试它。在我的例子中,它从第8个.ts文件播放