我使用S3设置了一个基于CloudFront的HLS流,但是HLS流似乎不起作用。我使用以下网播创建了一个桶和代码转换的内容:qg7U0l8
内容似乎具有正确的权限,但mime类型缺失(我看到m3u8具有mime类型text/平原)。转码器不应该正确设置吗?
我不知道这是不是视频不播放的原因。在Chrome中,它只显示一个使用HTML5标记的空白屏幕,而在Safari中,如果我试图直接播放它,它会显示play按钮,但没有显示其他任何内容。
知道去哪找吗?我最初的内容是mp4 (在使用弹性转码器之前)
更新: Ahh似乎是HLS-v4的一个问题,如果我将代码转换到HLS-v3,工作正常。因此,可能与mime类型无关(v3中相同的mimetype)。
发布于 2015-07-21 17:46:08
我检查了您的测试流,mime类型是正确的:
curl -I http://.../master.m3u8
HTTP/1.1 200 OK
Content-Type: application/x-mpegURL
curl -I http://.../hls_1m_.ts
HTTP/1.1 200 OK
Content-Type: video/MP2T流也正确地播放。
有些客户端只支持协议的版本3,我认为这是您的问题。
Version 4通过EXT-X-BYTERANGE增加了字节范围支持.请看你的播放列表:
#EXTINF:3.754688999999999,
#EXT-X-BYTERANGE:118258@1990168
hls_1m_.ts这肯定会引起一些玩家不支持新功能的问题。目前最安全的方法是使用版本3。
发布于 2020-08-17 08:02:49
在我的例子中,我使用的是s3公共桶,无法流,
我尝试在s3中设置CORS配置,它运行得很好。
我在S3控制台CORS配置中添加了以下内容( s3 >“公共桶”>权限> CORS配置)
<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
<AllowedOrigin>*</AllowedOrigin>
<AllowedMethod>GET</AllowedMethod>
<MaxAgeSeconds>3000</MaxAgeSeconds>
</CORSRule>
</CORSConfiguration>有关更多细节,这可能会帮助您
https://stackoverflow.com/questions/31529162
复制相似问题