Azure Media Services 是微软推出的视频和音频处理和转换服务。Azure Media SDK 提供了多种语言的 API,方便开发者使用 Azure Media Services。
本篇文章将详细介绍 npm 包 azure-media-sdk 的使用方法,包括 SDK 的安装、API 的调用和示例代码。
安装 azure-media-sdk
使用 npm 安装 azure-media-sdk:
npm install azure-media-sdk --save
使用 azure-media-sdk
创建 azureMediaServicesClient
调用 azureMediaServicesClient 构造函数,创建一个与指定 Azure 媒体服务帐户关联的客户端对象。
-- -------------------- ---- ------- ----- - ------------------ - - --------------------------- ----- --------------------------- - ----------------- ----- -------------------------- - ---------------- ----- ----------------------- - ------------- ----- ------ - --- ------------------- ---------------------------- --------------------------- ----------------------- --
调用 API
调用 API 前,需要先初始化一个资源组和流。
-- -------------------- ---- ------- ----- - ------------------ - - --------------------------- ----- --------------------------- - ----------------- ----- -------------------------- - ---------------- ----- ----------------------- - ------------- ----- ------ - --- ------------------- ---------------------------- --------------------------- ----------------------- -- ----- ------------------- - ------------------- ----- ----------- - ---------------- ----- -------- ------------------------------ - -- ----- ----- ------------- - ----- --------------------------------------------------------- ---- -- --- ----- ------ - ----- ---------------------- -------------------- ------------ - ------------ --- -------- ------------- ------- --------------- ----- -------------- ----- ----- - --------- ------- ----- -------- -- ---------------------- ----- --- - -------------------------------
上述代码中,先调用 createOrUpdate
方法创建资源组,然后调用 create
方法创建流,传入流参数对象。
了解更多 API 方法,请访问微软的 Azure Media Services 文档。
示例代码
以下是实现将本地视频上传至 Azure 媒体服务、转码并将结果输出为 HSL 和 Thumbnail 的示例代码:
-- -------------------- ---- ------- ----- - --------- ---------- - - -------------- ----- - ---- - - ---------------- ----- - ----------------- - - ------------------------------- ----- - ------------------ - - --------------------------- ----- --------------------------- - ----------------- ----- -------------------------- - ---------------- ----- ----------------------- - ------------- ----- ------ - --- ------------------- ---------------------------- --------------------------- ----------------------- -- ----- --------------- - --- -------- ---------------- - -- - -- - -------------------- ----- -------- ------------- - ----- ---------------- - ----- --------------------------------------- ----------------------- -- ----- ---------------------- - ------------------------ ----- ---------------------- - --------------------------- ----- ---------- - --------------- ----- -------------- - ------------------- ----- --------- - -------------- ----- --------------- - --------------- ----------- ----- ------------ - ------------ ----- ------------- - ------ ----- --------------------- - ----------------- ----- ------------------ - --------------- ----- --------------------------- - --------------------------- ----- --------------- - --- ------------------ --------------------------------------------------------------- ---------------- ------------------------------------- ----- -------- - ----- --------------------------------- ----- -------- - ----------------------------- ----- --------------- - --------------------------------------------- ----- ------------------ - ----- ------------------------------------------- - ---------------- - ---------------- ------------ -- ----------- - ---------------- --------------- - --- ----- ----- - ----- ---------------------------------------- - -------- -- --- ----- --------- - ----- --------------------------------- ----------- ---------- - ---------------- ------------- - -- ----- ----------------- - ----- ----------------------------- ----------- ---------- ---------------- ------------ -- ----- ---------------- - ----- -------------------------------- ----------------------- - ---------- ----------- -------------------- -------------------------------- ---------------------------- ---- - -- ----- -------------------- - ----- ------------------------------ --------------------------- -- ----- ----------------------------------------------------------- ----- ------------------------------------------------------------ - ------ ------------------------------ --- ----- ------------- - ----- --------------------------------- ----------------------- ------------- ---------- ---------------------------- -- ----- ----- - ----- ------------------- ------ ------- ---------- - ------ - ---------- --------------------------------- ---------- ---------- -- -------- - - ---------- ---------------------------------- ---------- ----------- ------------------------ ------------------- ----------- ---------------------------------- ------- - ---------- ----------------------------------------- ------- - - ---------- ----------------------------------------------------- ------ ------- ------- ------ -------- ------- ------ ------- ---------- ----- ----------------- ---- --------- ------- ------------ --------- -- - ---------- ----------------------------------------------------- -------- ------ --------- -- ------ -------------- ----------- ------ -------- --------------------- - -- -------- - - ---------- -------------------------------- ---------------- ------------------------ ------- - ----- -------- ---------------- -------------------------------- -------------- ----- ------------ - - ---------- ------------------------------ --------- -------------------------------------------------------- - - - - - - - - -- - -------------- ----- - -- ----- --- --------------- -- ------------------- -------- ----- ----------------------- ----- --------------------------------------- ------------------------ ----- ---------------- - ----- -------------------------------- ----------------------- - ---------- ----------- -------------------- -------------------------------- ---------------------------- ---- - -- ----- ------------- - ----- --------------------------------- ----------------------- ------------- ---------- ----------- -- ----- ----------------------------------------------------------- ----- ---------- - ----- ----------------------------------- - -------- --------------------------------------- -------- - - ---------------- -------------------- ------- - ----- ------ ---------------- -------------------- ------ ---- ----- ---- ------ ------ ---- ---------------------- - - - --- ------------------- ----------- - --------------
上述代码中,首先获取 Azure 媒体服务的凭证,并创建 streamingLocator 和 thumbnailLocator。然后调用 job API,传递输入参数和输出参数,实现视频的转码和 HLS 输出。最后,调用 generateThumbnail API,生成视频缩略图。
结论
本文介绍了 npm 包 azure-media-sdk 的使用方法,包括 azureMediaServicesClient 的创建和 API 的调用,最后提供了一个将本地视频上传至 Azure 媒体服务、转码并将结果输出为 HSL 和 Thumbnail 的示例代码。牢记本文提供的指导和示例代码,开发者可以更好地使用 Azure 媒体服务,并顺利完成视音频处理和转换服务。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60056d1281e8991b448e6d2e