- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 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喜欢 HLS
用 AES-128
加密( supported on the Elastic Transcoder ),如果您在运行中执行它也会增加开销,以及 HLS
与 DRM
喜欢 PHLS
/Primetime
这很可能会让您在客户端遇到很多麻烦。
似乎有一种方法可以使用 Amazon CloudFront
.请注意,我没有亲自尝试过,您需要检查它是否适用于 Android
/iOS
.
这个想法是使用 Signed Cookies而不是 Signed URLs
.它们显然是在 2015 年 3 月推出的。链接的博客条目甚至使用 HLS
举个例子。
您发送的不是动态 URL,而是 Set-Cookie
对用户进行身份验证后的 header 。 cookie(希望)随每个请求(播放列表和片段)和 CloudFront
一起传递。决定是否允许访问您的 S3 存储桶:
您可以在此处找到文档:
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/
我正在尝试将我的应用程序上载到Elastic Beanstalk,但是在节点预gyp安装--fallback-to-build上,npm安装失败。我尝试了各种版本的节点,但无济于事。似乎正在尝试获取一
每当我在 Elastic Beanstalk 中创建新环境时,我都会手动配置自定义 AMI ID、SNS 通知等,但我想自动完成,即,将设置(自定义 AMI ID、SNS、 key 对等)保存到一个配
我已使用以下方法连接到 Elastic Beanstalk: eb ssh XXXXXX --profile=xx 现在我想将一个文件复制到我的本地机器上,我该怎么做? 最佳答案 找出与 scp 一起
对于典型的 Java Web 应用程序,使用 Elastic Beanstalk 相对于手动创建 EC2 实例、设置 tomcat 服务器和部署等有哪些优势?负载平衡、监控和自动缩放是唯一的优势吗?
我有两个Elastic Search版本,一个是 7.3 ,另一个是 7.1 。我正在将flattened数据类型用于 Elastic Search 7.3 ,并且我也想在 Elastic Searc
我是 Elastic 和 spring-data-elastic 的新手。我一直在此处和网络的其他区域进行搜索,但到目前为止尚未找到我的问题的答案。我希望 SO 能够提供帮助。 我正在为我的Users
我有一个运行 PHP 的弹性 beanstalk 环境。在我的项目中,我有一个 .ebextensions 文件夹和一个名为“15-memorymonitor.config”的文件,其中包含以下内容;
我有 “更新”:Dockerrun.aws.json 中的“真” 当我更新 ECR 中的图像时,它应该自动更新 EC2 iontance 中的图像和容器。 但是当我在推送新图像后通过 ssh 进入实例
我有一个定义 Elastic Beanstalk 应用程序的 CloudFormation 模板。 我想扩展这个应用程序,即我希望端口 80 上的监听器重定向到 HTTPS。 AWS::Elastic
我在使用自定义 .ebextensions 文件部署 EB 实例时遇到问题。这是该文件中的相关部分: container_commands: 01_migrate: command: 'p
我已经使用带负载均衡器的 Elastic Beanstalk 创建了一个环境,并在各自的配置中分配了所有健康检查值 我也为ELB设置了应用健康检查url 但是当我检查自动缩放组配置时,健康检查类型是
我想使用 OpenTelemetry 将跟踪/指标数据导出到 Elastic Search,但我更愿意避免使用 Elastic APM。是否可以?opentelemetry 贡献 repo显然暗示这是
我正在尝试部署我的 角申请通过GitHub Actions到 Elastic Beanstalk 。我正在使用这个 GitHub actions用于部署到 ELB。 我的问题是,部署失败,因为 ELB
我已阅读有关 Deploying Versions with Zero Downtime 的 AWS 文档,又名 CNAME 交换。 如 yegor256在 this answer 中有解释: The
我们在我们的一个应用程序服务器上安装了 Elastic 5.6.10 和 HibernateSearch ORM 5.11.4.Final,现在我们计划通过我们的一个微服务(spring boot,但
我正在使用 AWS Elastic beanstalk 并希望为不同的环境配置不同的 ENV 变量。我发现的唯一方法是使用 ebextensions,但如果我将同一个数据包部署到多个环境,则无法覆盖在
我有一个应用程序,其中包含 nodejs 和 php 代码。 nodejs 用于运行应用程序所需的几个脚本。我如何使用 aws Elastic beanstalk 部署此类应用程序? 最佳答案 有两种
我打算将 MP4(1920x1080,比特率可能因 mp4 而异)转换为 HLS(不同类型的分辨率)。 不同类型的分辨率,我正在寻找 1080p = 1920x1080 720p = 1280x720
我不断收到以下消息。但是在我的 nginx 日志中没有任何内容表明返回的请求状态为 5xx。此外,应用程序似乎按预期工作。我可能会得到这些的任何指示? 留言: Environment health h
我们如何使用 bitbucket 管道更新 aws elastic beanstalk 上的 asp.net 核心网站? 最佳答案 我知道这是迟到的答案,但几天前我做了同样的事情,所以这里是我是如何做
我是一名优秀的程序员,十分优秀!