【发布时间】:2020-06-10 00:55:17
【问题描述】:
对此我不确定 - 当 AVPlayer 收到没有足够媒体段的播放列表文件时(如播放列表中只有 1 或 2 个媒体段,如下所示)。并根据 Apple 设备文档的 HLS 创作规范
> 7. 媒体细分要求
7.6。段持续时间名义上应为 6 秒(例如,NTSC 29.97 可能为 6.006 秒)。
7.7。媒体片段不得超过目标持续时间超过 0.5 秒。
以下是我的 VOD 播放列表文件示例
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:56
#EXT-X-ALLOW-CACHE:NO
#EXT-X-DISCONTINUITY
#EXTINF:2.009,
http://media.example.com/first.ts
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:56
#EXT-X-ALLOW-CACHE:NO
#EXT-X-DISCONTINUITY
#EXTINF:2.003,
http://media.example.com/Second.ts
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:56
#EXT-X-ALLOW-CACHE:NO
#EXT-X-DISCONTINUITY
#EXTINF:2.003,
http://media.example.com/third.ts
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++++++
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:56
#EXT-X-ALLOW-CACHE:NO
#EXT-X-DISCONTINUITY
#EXTINF:2.004,
http://media.example.com/first.ts
#EXTINF:2.007,
http://media.example.com/second.ts
#EXTINF:2.003,
================================================ =======
#EXTM3U
#EXT-X-VERSION:4
#EXT-X-TARGETDURATION:2
#EXT-X-MEDIA-SEQUENCE:56
#EXT-X-ALLOW-CACHE:NO
#EXT-X-DISCONTINUITY
#EXTINF:2.009,
http://media.example.com/first.ts
#EXTINF:2.008,
http://media.example.com/second.ts
#EXTINF:2.003,
所以我的问题是 - AVPlayer 会仅在所有 3 个媒体片段都可用时播放内容,还是在 1 或 2 个媒体片段可用时播放内容,如上所示??
【问题讨论】:
-
AVPlayer 会逐个下载片段并相应地播放。因此,播放列表中有多少段可用并不重要。请注意,下载是基于网络带宽的。如果基于应用程序设置的可用网络带宽和缓冲区,它还可以缓冲段。
-
@lloydTheCoder - 根据 HLS 文档,每个媒体播放列表必须至少为 6 秒,因此如果段数少于 6 秒.. AVPlayer 是否会渲染??
标签: ios avplayer http-live-streaming playlist segment