为啥 iPhone 请求 .m3u8 播放列表文件 4 次?

Posted

技术标签:

【中文标题】为啥 iPhone 请求 .m3u8 播放列表文件 4 次?【英文标题】:Why does the iPhone request an .m3u8 playlist file 4 times?为什么 iPhone 请求 .m3u8 播放列表文件 4 次? 【发布时间】:2011-03-04 18:06:38 【问题描述】:

为什么 iPhone 请求 .m3u8 播放列表文件 4 次?而且,是否有可能让它只请求一次?

请求执行如下:

    第一个是完整的请求。 第二个是字节范围请求,范围为0-1。 第三个是对完整文件的另一个字节范围请求。 最后的请求又是一个完整的请求。

注意:iPhone 会终止这些请求的连接,因此并非所有请求都完成到最后。

但是,在我看来,有很多不必要的请求,我想知道 iPhone 为什么会这样做,是否有可能让 iPhone 只请求一次原始播放列表?

【问题讨论】:

看起来您的 m3u8 服务器为此播放列表发送了错误的 mime 类型。你描述的请求序列听起来很像我之前遇到的 *.mov 检索序列。 【参考方案1】:

听起来 iPhone 正在检查您的 m3u8 文件中的更改,以查看您是否添加了任何 .ts 文件。它这样做是因为它认为您的 m3u8 文件是实时流。 如果您有固定长度 (VoD) 流,请尝试放置

#EXT-X-ENDLIST

在 m3u8 文件的末尾

【讨论】:

【参考方案2】:

我猜客户端正在对文件进行采样并通过从文件中下载字节范围来测量客户端连接速度。如果没有来源或进一步的文档,我们无法确定。

【讨论】:

以上是关于为啥 iPhone 请求 .m3u8 播放列表文件 4 次?的主要内容,如果未能解决你的问题,请参考以下文章

通过 monotouch 播放 .m3u8 音频流文件

m3u8文件简介

在iOS上播放.m3u8文件

m3u8格式的视频文件怎么转成Mp4在电脑上播放?

m3u8 文件格式详解

可以在 Chrome cast 中以 AES-128 加密方式播放 .m3u8 文件