2016-09-13 81 views
0

我目前允许用户通过充当代理S3听原始音频文件:流音频与PHP和支持范围

$result = $s3Client->getObject(array(
    'Bucket' => "Bucket", 
    'Key' => "Key 
)); 

然后,只需设置适当的标题,并把数据在身体。

这工作虽然它有两个缺点:

1)有大型文件的高延迟,因为它需要时间从S3

2)Chrome的渲染音频在自己的UI,但是当下载用户寻找使用滚动条的请求与未处理的“范围”标头一起发送。

有没有人有更好的解决方案来处理这两个问题?我已经看过Amazon S3 Stream Wrapper,但我不清楚如何让音频流回浏览器。

回答

1

使用S3直接为您的媒体提供服务。

如果您希望限制访问,您可以使用S3客户端预先对URL进行签名。这些网址可以设置为只能运行几分钟。

如果由于某种原因您不能直接链接到S3,您可以在当前脚本中重定向到S3 URL。