首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将Node.js用于Azure媒体服务/处理媒体上传和流式处理

将Node.js用于Azure媒体服务/处理媒体上传和流式处理
EN

Stack Overflow用户
提问于 2013-07-23 02:22:42
回答 3查看 1.9K关注 0票数 4

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

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

在这种情况下,我遇到了Azure媒体服务。我知道它没有任何适用于Node.js的软件开发工具包,所以我在这里唯一的选择就是使用Azure Media Services的REST服务。

我的问题是:

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

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

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

我很感谢这里的任何指示/解释。

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-25 01:49:58

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

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

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

  • 通过调用REST API在Azure媒体服务(WAMS)中创建资产和资产文件记录。http://msdn.microsoft.com/en-us/library/windowsazure/hh973617.aspx创建访问策略和定位器,它将提供需要上传文件的blob存储的URI。WAMS REST API
  • 使用node.js将文件上传到blob存储http://www.windowsazure.com/en-us/develop/nodejs/how-to-guides/blob-storage/
  • 创建编码作业,将您的输入编码为多比特率mp4。WAMS REST API
  • 将您的多码率mp4打包为平滑或HLS格式,或者利用WAMs中的动态打包功能。http://channel9.msdn.com/Series/Windows-Azure-Media-Services-Tutorials/Introduction-to-dynamic-packaging

一旦你准备好流式传输你的内容,你需要给用户客户端回放url指向源服务器。为此,您必须调用WAMS REST API并创建原点定位器

Assets公开了ID和AlternativeID属性,您可以使用这些属性将关于内容的元数据与WAMS资产进行映射,并实现任何附加的content Management逻辑。

如果你有一些基于用户的身份验证,并且不想让单独的azure媒体帐户专用于一个用户,那么你需要充当代理。WAMS为资产摄取、编码、打包、按需交付提供基本块,并在不久的将来用于直播流。

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

票数 1
EN

Stack Overflow用户

发布于 2013-07-24 03:45:50

我有一个小的解决方案,但我认为它需要你的一些工作,也许你不会喜欢它,如何与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之间集成,我认为可以从使用Edge或signalR开始。http://www.infoq.com/articles/the\_edge\_of\_net\_and\_nodehttp://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存储中流的问题,希望您能从中受益。如何使用Node.js?将Windows Azure Blob流式传输到客户端

获取要发送到Node.js Server的流式Blob的内容

这里还有另一个链接,它将帮助你做到这一点:“使用Node.js媒体代理为视频斑点提供地理保护”http://msdn.microsoft.com/en-us/magazine/dn198240.aspx只是想确保你得到了Windows Azure Node Js SDK,你可能会找到一些解决方案来帮助你开发你的应用程序。https://github.com/WindowsAzure/azure-sdk-for-node我希望我的回答能帮助你让我知道你还需要什么。

票数 0
EN

Stack Overflow用户

发布于 2021-02-25 07:30:51

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17794652

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档