HLS 播放问题
HLS playback problems
在 AWS 上使用企业版 1.9.1 官方 AMI。
场景:
Ant Media Server 应用程序配置为使用具有 360、480、720 分辨率的 ABR。
播放器端代码轮询 HLS 流URL 等待流开始。
预期行为:
- 当流未直播时,响应 404 错误
- 当直播开始时,用包含所有定义分辨率的 m3u8 响应
实际行为:
- 当流不直播时,为 m3u8 返回的 HTTP 状态为 200,但响应内容为 404 未找到页面。
- 当直播开始时,收到的m3u8只包含一个分辨率(我认为,它是随机的-可以是任何预定义的):
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=0,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_720p.m3u8
- 如果我在不完整的 m3u8 之后的几秒钟内请求 m3u8,我会收到具有所有已定义分辨率的完整 m3u8:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=680704,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_360p.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1072360,RESOLUTION=854x480,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_480p.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1409432,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2263000,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_720p.m3u8
解决方法:
目前我正在通过解析响应的内容来解决这个问题:
- 如果有404错误,继续轮询
- 如果m3u8小于6行(经验值),继续轮询
- 当正确的 m3u8 到达时,启动播放器
我是不是做错了什么或者这是一个错误?
这似乎是一个错误,已在 v2.0 中修复。
升级后一切正常。
在 AWS 上使用企业版 1.9.1 官方 AMI。
场景:
Ant Media Server 应用程序配置为使用具有 360、480、720 分辨率的 ABR。
播放器端代码轮询 HLS 流URL 等待流开始。
预期行为:
- 当流未直播时,响应 404 错误
- 当直播开始时,用包含所有定义分辨率的 m3u8 响应
实际行为:
- 当流不直播时,为 m3u8 返回的 HTTP 状态为 200,但响应内容为 404 未找到页面。
- 当直播开始时,收到的m3u8只包含一个分辨率(我认为,它是随机的-可以是任何预定义的):
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=0,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_720p.m3u8
- 如果我在不完整的 m3u8 之后的几秒钟内请求 m3u8,我会收到具有所有已定义分辨率的完整 m3u8:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=680704,RESOLUTION=640x360,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_360p.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1072360,RESOLUTION=854x480,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_480p.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1409432,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2263000,RESOLUTION=1280x720,CODECS="avc1.42e00a,mp4a.40.2"
5e820545bd53c64aca9c57c1_720p.m3u8
解决方法:
目前我正在通过解析响应的内容来解决这个问题:
- 如果有404错误,继续轮询
- 如果m3u8小于6行(经验值),继续轮询
- 当正确的 m3u8 到达时,启动播放器
我是不是做错了什么或者这是一个错误?
这似乎是一个错误,已在 v2.0 中修复。 升级后一切正常。