在 iOS 和 Mac-Safari 上播放失败,HLS url 有冒号
Playback fails on iOS and Mac-Safari for HLS url that has colon
我正在测试基于 hls.js 的播放器,内容 url 中有一个冒号:
https://video.mysite.com/97215bca-58d9-4fdb-bccd-ecca1f6c4bce/smil:ABC_ABCDEFGHIJ.smil/playlist.m3u8
这适用于 Chrome/Firefox/Edge Windows 并且适用于 Android。
但是,当我尝试在 Mac Big Sur Safari 14 或 iOS 14 上播放时,它无法获取任何媒体块。我收到播放列表的成功响应:
GET https://video.mysite.com/97215bca-58d9-4fdb-bccd-ecca1f6c4bce/smil:ABC_ABCDEFGHIJ.smil/playlist.m3u8
200 OK
GET https://video.mysite.com/97215bca-58d9-4fdb-bccd-ecca1f6c4bce/smil:ABC_ABCDEFGHIJ.smil/chunklist_b1128000.m3u8
200 OK
块列表内容看起来不错
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:5
#EXT-X-MEDIA-SEQUENCE:714
#EXT-X-DISCONTINUITY-SEQUENCE:0
#EXTINF:4.004,
media_b1128000_714.ts
#EXTINF:4.004,
media_b1128000_715.ts
#EXTINF:4.004,
media_b1128000_716.ts
但是根据 iOS 设备,我可能从未看到任何对 media*.ts 文件的请求,或者它们显示为已取消(似乎超时)。播放器最终出现解码错误。
播放器使用 hls.js 在大多数设备(所有工作设备)上播放,但在 iOS 上,我相信 Safari 它使用内置的 Apple HLS 播放。我的理论是引擎不喜欢 url 中的冒号,但我无法控制该格式。有没有人在 Apple 上遇到过这样的问题?
原来问题出在 m3u8 的内容上。
#EXT-X-STREAM-INF:BANDWIDTH=1128000,CODECS="H264,AAC",RESOLUTION=1024x576
Apple 设备不喜欢指定的 CODECS。提供商删除了 CODECS 部分,播放开始工作。
我正在测试基于 hls.js 的播放器,内容 url 中有一个冒号:
https://video.mysite.com/97215bca-58d9-4fdb-bccd-ecca1f6c4bce/smil:ABC_ABCDEFGHIJ.smil/playlist.m3u8
这适用于 Chrome/Firefox/Edge Windows 并且适用于 Android。
但是,当我尝试在 Mac Big Sur Safari 14 或 iOS 14 上播放时,它无法获取任何媒体块。我收到播放列表的成功响应:
GET https://video.mysite.com/97215bca-58d9-4fdb-bccd-ecca1f6c4bce/smil:ABC_ABCDEFGHIJ.smil/playlist.m3u8
200 OK
GET https://video.mysite.com/97215bca-58d9-4fdb-bccd-ecca1f6c4bce/smil:ABC_ABCDEFGHIJ.smil/chunklist_b1128000.m3u8
200 OK
块列表内容看起来不错
#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:5
#EXT-X-MEDIA-SEQUENCE:714
#EXT-X-DISCONTINUITY-SEQUENCE:0
#EXTINF:4.004,
media_b1128000_714.ts
#EXTINF:4.004,
media_b1128000_715.ts
#EXTINF:4.004,
media_b1128000_716.ts
但是根据 iOS 设备,我可能从未看到任何对 media*.ts 文件的请求,或者它们显示为已取消(似乎超时)。播放器最终出现解码错误。
播放器使用 hls.js 在大多数设备(所有工作设备)上播放,但在 iOS 上,我相信 Safari 它使用内置的 Apple HLS 播放。我的理论是引擎不喜欢 url 中的冒号,但我无法控制该格式。有没有人在 Apple 上遇到过这样的问题?
原来问题出在 m3u8 的内容上。
#EXT-X-STREAM-INF:BANDWIDTH=1128000,CODECS="H264,AAC",RESOLUTION=1024x576
Apple 设备不喜欢指定的 CODECS。提供商删除了 CODECS 部分,播放开始工作。