Azure 媒体服务将编码文件传输到 Amazon S3

Azure Media Services Transfer Encoded Files to Amazon S3

https://docs.microsoft.com/en-us/azure/media-services/media-services-deliver-asset-download 上面写着 "you can send media content to another application or to another content provider."

因此,如果 "another content provider" 包含 Amazon S3,这正是我所需要的。基本上,我想 上传 一个文件到 Azure 媒体服务,对文件进行 编码 ,然后得到编码后的文件(复数)已传输(已上传)到 S3 存储桶。

前面引用的网页没有进一步讨论该选项(它讨论了下载文件)。此外,代码示例似乎使用了 C# Azure SDK,我只能使用 REST API。

在这种情况下,是否可以将编码的输出文件从 Azure 传输到 S3,如果可以,如何实现?

目前这不是 AMS API 中的第一方功能。 Azure 媒体服务编码作业的输出是 Azure 存储容器中的一组文件。您对存储帐户具有完全访问权限,因此支持将文件移出该存储帐户的任何 Storage API 操作。

对于自动将内容移出存储并转移到 S3,我会提出一些建议。

1) Azure Functions - 您可以编写一个 Azure 函数,通过 WebHook 从您的 Azure 媒体服务帐户触发。作业完成后,Azure 函数需要获取资产 ID,获取存储帐户容器 URL,然后将 HTTP 复制到 S3。这条路线的唯一问题是 Functions 确实有 5 分钟的操作限制,这可能会在您传输非常大的文件时超时。您可以通过使用函数将工作放入 Azure 队列来解决这个问题,然后您可以在 Azure 容器中有一个 Docker 容器 运行 的池(K8)等待执行 long-运行 根据队列中的数据传输。从长远来看,这将更具可扩展性和可管理性。

2) 您可以使用 Github 上的各种开源项目之一,这些项目能够从 Azure 容器复制到 S3。

3) (?) 我自己还没有尝试过这个 - 但我看到了使用 Azure 存储数据移动库来执行此操作的参考资料,但我只看到了从 S3 进入的示例,而不是离开。 [编辑 - 去掉这个!我看了一下不支持上传到S3]

最后,让您知道路线图 - 我们正在努力在我们的媒体服务中添加对直接从 S3 摄取并上传到 S3 的支持 API。很高兴收到您对上传到 S3 的要求的反馈(您需要什么身份验证、什么限制、加密支持等)

是的,您应该能够serve/stream 直接从 Azure 媒体服务中编码视频。