当前位置 : 主页 > 网页制作 > Nodejs >

使用Node.js进行Azure媒体服务/处理媒体上传和流媒体

来源:互联网 收集:自由互联 发布时间:2021-06-16
我正在开发处理媒体文件(音频/视频)的服务.这些服务负责上传并随后流式传输客户端上传的媒体文件( IOS, Android,但不限于这些设备/平台). 我们使用node.js和mongodb作为数据库.在不久的将
我正在开发处理媒体文件(音频/视频)的服务.这些服务负责上传并随后流式传输客户端上传的媒体文件( IOS, Android,但不限于这些设备/平台).

我们使用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.

网友评论