【问题标题】:Using Node.js for Azure Media Services/Handling Media Upload and Streaming将 Node.js 用于 Azure 媒体服务/处理媒体上传和流式传输
【发布时间】:2013-07-22 18:22:42
【问题描述】:

我正在开发处理媒体文件(音频/视频)的服务。这些服务负责上传客户端(IOS,Android,但不限于这些设备/平台)上传的流媒体文件。

我们使用 node.js 和 mongodb 作为数据库。在不久的将来,我们的服务将成为 Azure 的一部分。 (我们的部分后端已经存在于 Azure 中)

在那种情况下,我遇到了 Azure 媒体服务。我知道它没有任何可用于 Node.js 的 sdk,所以我唯一的选择是使用 Azure 媒体服务中的 REST 服务。

我的问题是:

1) 已经处理此场景的开发人员在此场景中采用的正确方法是什么。我对这里的方法/实践持开放态度,并改变我目前计划做的事情。

2) 如果我使用 Azure 媒体服务。我的客户将如何调用我的服务 (node.js),它充当调用 Azure 媒体服务的 REST 服务的代理。这将如何工作,我的代理中有文件要重新上传。或者我将在内部指导我的服务,以便在内部将其上传到媒体服务。

3)媒体服务中上传的这些媒体文件如何与MongoDB中的记录相关联。就像一个记录可以有多个媒体文件一样。

我很欣赏这里的任何指示/解释。

谢谢,

【问题讨论】:

    标签: node.js mongodb azure azure-media-services


    【解决方案1】:

    要正确回答您的问题,需要回答的问题很少。

    1.您将在 azure 媒体服务之上提供哪些功能。从您的问题来看,主要目标似乎是让用户上传资产并且他们能够流式传输上传的内容。

    为此,您需要在 node js 中实现以下步骤。

    资产公开了 ID 和 AlternativeID 属性,您可以使用这些属性将有关内容的元数据映射到 WAMS 资产并实施任何其他内容管理逻辑。

    如果您有一些基于用户的身份验证并且不希望将单独的 azure 媒体帐户专用于一个用户,则需要充当代理。 WAMS 为资产摄取、编码、打包、按需交付以及在最近的将来用于直播提供基本块。

    它可以用作您的 cms 系统的基础,或者您可以通过添加额外的身份验证、授权层来充当 SSAS 提供者。目前,您可以使用第三方产品 http://www.ezdrm.com/ 进行播放 DRM 保护或使用您自己的许可证服务器 http://msdn.microsoft.com/en-us/library/windowsazure/dn223278.aspx

    【讨论】:

    • 我知道我需要创建一个代理。我的困惑是..当客户端调用我的服务并将文件上传到 node.js 中的服务时。该文件将去哪里,因为它将是代理级别的中间步骤,然后最终将其上传到 azure。它应该是内存流还是什么?在内部,我将调用 Azure 服务在 Azure 中上传该文件。这件事情怎么处理?
    【解决方案2】:

    我有一个小解决方案,但我认为它需要你做一些工作,也许你不会那么喜欢它,使用 Windows Azure 移动服务怎么样。它现在支持添加 NPM,我告诉您使用 Windows Azure Mobile 服务的原因是它可以帮助您连接到您的客户端,无论使用什么应用程序平台。

    http://weblogs.asp.net/scottgu/archive/2013/06/14/windows-azure-major-updates-for-mobile-backend-development.aspx

    要在 .Net 和 Node Js 之间进行集成,我认为可以从使用 Edge JS 或 signalR 开始。 http://www.infoq.com/articles/the_edge_of_net_and_node http://www.asp.net/signalr

    我只是想提出一个可能有助于解决 Node Js 中缺乏对媒体服务的支持的想法,即您使用 Blob 存储进行流式传输。毕竟媒体服务是基于我认为的 Blob 存储的。这是一个指导您使用 Blob 存储的链接。

    http://www.windowsazure.com/en-us/develop/nodejs/how-to-guides/blob-storage/

    这也是之前发布的一个问题,关于如何使用 Node JS 从 blob 存储流式传输,希望对您有所帮助。

    How to stream a Windows Azure Blob to the client using Node.js? Getting contents of a streaming Blob to be sent to a Node.js Server

    这里还有另一个链接可以帮助您做到这一点“使用 Node.js 媒体代理对视频 Blob 进行地理保护” http://msdn.microsoft.com/en-us/magazine/dn198240.aspx

    只是想确保您获得了 Windows Azure Node Js SDK,您可能会找到一些可以帮助您开发应用程序的解决方案。 https://github.com/WindowsAzure/azure-sdk-for-node

    希望我的回答能帮助您,如果您需要其他任何东西,请告诉我。

    【讨论】:

    • 谢谢哈根,我在下面的乔治回答中发表了我的评论,这基本上是我的困惑。
    【解决方案3】:

    我现在有更多基于 Typescript 的示例,用于 AMS v3 API,使用我们最新的 javascript Node.js SDK 在这里 https://github.com/Azure-Samples/media-services-v3-node-tutorials

    【讨论】:

      猜你喜欢
      • 2016-09-07
      • 1970-01-01
      • 2021-02-06
      • 1970-01-01
      • 1970-01-01
      • 2018-06-15
      • 1970-01-01
      • 1970-01-01
      • 2021-09-17
      相关资源
      最近更新 更多