gpt4 book ai didi

amazon-web-services - 使用 AWS Elastic Transcoder 和 S3 在不公开所有内容的情况下流式传输 HLSv4?

转载 作者:行者123 更新时间:2023-12-02 01:33:42 26 4
gpt4 key购买 nike

我正在尝试使用 HLSv4 流式传输视频。我正在使用 AWS Elastic Transcoder 和 S3 将原始文件(例如 *.avi 或 *.mp4)转换为 HLSv4。

转码成功,有几个 *.ts 和 *.aac(每个媒体文件都附带 *.m3u8 播放列表文件)和一个链接到媒体文件特定播放列表文件的主 *.m3u8 播放列表文件。我觉得这里一切都井然有序。

现在麻烦了:这是一个成员(member)网站,我想避免公开每个视频文件。通常使用 S3 执行此操作的方法是在服务器端生成临时 key ,您可以将其附加到 URL。麻烦的是,这会更改媒体文件及其播放列表的 URL,因此现有的 *.m3u8 播放列表(提供对其他播放列表和媒体的引用)不包含这些键。

我想到的一个选择是动态生成这些播放列表,因为它们只是文本文件。明显的麻烦是开销,看起来很hacky,这些帖子令人沮丧:https://forums.aws.amazon.com/message.jspa?messageID=529189 , https://forums.aws.amazon.com/message.jspa?messageID=508365

在花了一些时间在这之后,我觉得我在绕圈子,而且似乎没有一个非常清楚的解释来说明如何做到这一点。

那么截至 2015 年 9 月,使用 AWS Elastic Transcoder 和 S3 在不公开您的内容的情况下流式传输 HLSv4 的最佳方式是什么?任何帮助是极大的赞赏!

编辑:用格式重新发布我的评论...

谢谢你的回复,很有帮助

我脑海中形成的计划是将转换后的 ts 和 aac 文件保留在 S3 上,但生成 6-8 个 m3u8 文件 + 主播放列表并直接从应用服务器提供它们所以用户点击“播放”页面,jwplayer 从应用获取主播放列表服务器(例如“/play/12/”)。服务器端,这会将 m3u8 文件从 s3 加载到内存中,并使用新生成的 URL token 搜索和替换媒体特定的 m3u8 链接以指向 S3

所以用户-->jwplayer-->local master m3u8(验证身份验证服务器端)-->本地媒体 m3u8s(验证身份验证服务器端)-->s3 媒体文件(使用签名的 URL 和临时 token 访问)

您认为这种方法有什么问题吗?例如“你不能从播放列表中引用外部媒体”或类似的东西可以捕获 22-ish?

最佳答案

动态生成的播放列表是一种方法。我实际上将类似的东西实现为 Nginx 模块,它运行得非常快,尽管它是用 C 编写的。并编译而不是PHP .

您的第一个链接中的人更有可能因为他/她的 1s 而遇到问题 block 持续时间。这会增加很多请求和开销,Apple 推荐的值是 10s .

solutions喜欢 HLSAES-128 加密( supported on the Elastic Transcoder ),如果您在运行中执行它也会增加开销,以及 HLSDRM喜欢 PHLS/Primetime这很可能会让您在客户端遇到很多麻烦。

似乎有一种方法可以使用 Amazon CloudFront .请注意,我没有亲自尝试过,您需要检查它是否适用于 Android/iOS .

这个想法是使用 Signed Cookies而不是 Signed URLs .它们显然是在 2015 年 3 月推出的。链接的博客条目甚至使用 HLS举个例子。

您发送的不是动态 URL,而是 Set-Cookie对用户进行身份验证后的 header 。 cookie(希望)随每个请求(播放列表和片段)和 CloudFront 一起传递。决定是否允许访问您的 S3 存储桶:

CloudFront Signed Cookies

您可以在此处找到文档:
http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/PrivateContent.html

关于amazon-web-services - 使用 AWS Elastic Transcoder 和 S3 在不公开所有内容的情况下流式传输 HLSv4?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32556996/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com