0

因此,我正在创建一个 nodejs 应用程序,它使用 AWS Media Live 和 AWS Media Store 来直播音频和视频。

我正确创建了媒体直播频道、输入和媒体存储容器。我用于通道的角色具有 MediaStoreFullAcces 权限,因此它可以读取和写入容器。到目前为止,一切都很好。

如果我使用 obs studio 启动流,使用 RTMP 推送 url 和流键,一切似乎都工作正常。但是,如果我查看频道的日志,它会显示这个错误,说它无法写入媒体存储:

OutputDataBackground failed to send file for URL [mediastoressl://.../720p30_00028.ts], after [10] attempts, error [EMS credentials unavailable]

它也不会在容器中创建 .m3u8 文件。

我的疑问是,如果不是角色的权限,EMS 凭据是什么?

我在 AWS 控制台中找不到任何地方来添加凭据或更改安全性。有谁能帮助我吗?

4

1 回答 1

1

感谢您的询问。您可以查看以下文档以确保存在从 MediaLive 频道的关联角色写入 MediaStore 所需的所有权限。如果角色的策略不包括 MediaStore 表中列出的操作和/或资源语句不正确或过于严格,则 MediaLive 将无法写入目标。

https://docs.aws.amazon.com/medialive/latest/ug/trusted-entity-requirements.html

您可以选择使用每个目标的凭据字段单独配置每个输出组的凭据。此方法需要 AWS Parameter Store 来安全地存储 MediaLive 将用于写入 MediaStore 的 IAM 用户的 AWS 秘密访问密钥。

https://docs.aws.amazon.com/medialive/latest/ug/requirements-for-EC2.html

如果我能提供任何进一步的帮助,请告诉我。

于 2021-01-12T01:08:44.333 回答