1

因此,我成功地使用 AWS Elemental MediaConvert 将 mp4 文件转换为流(几个 .m3u8 文件和一堆 .ts 文件)。所以他们现在坐在一个文件夹中。如果我在我的网络视频播放器 (videojs) 中使用https://bucketname.s3.amazonaws.com/filename.m3u8 ,则视频加载正常。

问题在于:如果我将存储桶设为私有并使用签名 URL 访问我的视频播放器中的上述 .m3u8 文件,则播放列表无法访问其他片段文件,因为它们都是私有的。唯一可行的方法是将整个文件夹公开,这是不安全的。我尝试设置 CORS 存储桶策略,使其仅在我的域中播放,但除了公开所有文件外,没有任何效果。

因此,如果我通过签名的 url 访问 m3u8,它如何访问同一文件夹中的其他段(.ts 文件)而不必将它们全部公开?

谢谢你的帮助。

4

1 回答 1

0

从 cloudfront/s3 获取私有内容有两种选择

签名网址: https ://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-urls.html

签名 cookie: https ://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/private-content-signed-cookies.html

最后一个是你需要的。只需为多个文件/路径创建一个签名的 cookie。这将允许您的最终用户使用一个 cookie 获取视频的所有部分。

于 2019-12-18T15:43:15.760 回答