我们使用node.js和mongodb作为数据库.在不久的将来,我们的服务将成为Azure的一部分. (我们后端的部分已经存在于Azure中)
在那种情况下,我遇到了Azure媒体服务.我知道它没有任何sdk可以用于Node.js所以我唯一的选择是使用Azure Media Services的REST服务.
我的问题是:
1)已经处理此场景的开发人员在这种情况下采用了正确的方法.我对这里的方法/实践持开放态度,并改变我目前计划做的事情.
2)如果我使用Azure Media Services.我的客户端如何调用我的服务(node.js),该服务充当调用Azure Media Services的REST服务的代理.这将如何正常工作,我有我的代理中的文件重新上传.或者我将在内部指导我的服务,以便在内部上传到媒体服务.
3)如何在媒体服务中上传这些媒体文件与MongoDB中的记录相关.就像一条记录可以有多个媒体文件.
我感谢这里的任何指示/解释.
谢谢,
为了正确回答你的问题,很少有问题需要回答.1.您将在azure媒体服务上提供什么功能.从您的问题来看,似乎主要目标是让用户上传资产,并使他们能够流式传输上传的内容.
为此,您需要在节点js中实现以下步骤.
>通过调用REST API在Azure Media Service(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格式或在WAM中使用dinamic打包功能. http://channel9.msdn.com/Series/Windows-Azure-Media-Services-Tutorials/Introduction-to-dynamic-packaging
>准备好流式传输内容后,您需要为用户客户端播放URL指向源服务器.为此,您必须调用WAMS REST API并创建原始定位器
资产公开ID和AlternativeID属性,您可以使用这些属性将有关内容的元数据映射到WAMS资产,并实现任何其他内容管理逻辑.
如果您有一些基于用户的身份验证,并且不希望将单独的azure媒体帐户专用于一个用户,则需要充当代理. WAMS为资产摄取,编码,打包,按需交付以及最近的实时流媒体提供基本模块.
它可以用作cms系统的基础,也可以通过添加其他身份验证授权层来执行SSAS提供程序.目前,您可以使用第三方产品http://www.ezdrm.com/进行播放DRM保护,或使用您自己的许可证服务器http://msdn.microsoft.com/en-us/library/windowsazure/dn223278.aspx.