npm 包 azure-media-sdk 使用教程

阅读时长 14 分钟读完

Azure Media Services 是微软推出的视频和音频处理和转换服务。Azure Media SDK 提供了多种语言的 API,方便开发者使用 Azure Media Services。

本篇文章将详细介绍 npm 包 azure-media-sdk 的使用方法,包括 SDK 的安装、API 的调用和示例代码。

安装 azure-media-sdk

使用 npm 安装 azure-media-sdk:

使用 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

纠错
反馈