npm包sdp-jingle-json 使用教程

阅读时长 13 分钟读完

随着WebRTC的发展,协商媒体流的很多工作都是通过SDP(Session Description Protocol)协议来实现的。SDP描述了媒体流的一些参数信息,例如媒体的类型,编解码器类型、编码格式、网络参数等等。在WebRTC应用中,协商SDP是建立点对点连接的必要步骤。

sdp-jingle-json是一种用于WebRTC SDP协商的Javascript解析库。它能够将SDP转换为JSON格式,以便更方便地操作和使用。此外,它还可以将JSON格式的SDP还原成原始的SDP字符串。

下面,我们将详细讲解如何在前端类应用中使用sdp-jingle-json

安装 npm 包

首先,我们需要通过npm来安装sdp-jingle-json

安装完成后,可以在项目中引入sdp-jingle-json

上述代码中的sdpJingleJson将作为对sdp-jingle-json库的封装,供我们在应用中使用。

解析 SDP

在WebRTC应用中,我们经常需要解析SDP,以便分析媒体流的参数和编解码器类型。下面我们通过sdp-jingle-json来实现SDP的解析。

-- -------------------- ---- -------
----- ------- - ----
--- ------------------- - -- --- ---------
---
--- -
-------------- ----- -----
---------------- --- ------------------------------------
------- - --------- --- --- --- - - --- --- --- -- ---
---- --- -------
-------- -- --- -------
----------------------------
----------------------------------
-----------
----------
---------- ----------------------- -----------------------------------------------
------------ ------------
---------- --------------------------
------------ ----------
------------ ----------
---------- ---------
---------- ---------
------------ --------
------------ --------
------------ --------
----------- -------
------------ --------------------
-------------
----------------- ----------------------
----------------- ----------------------------------------- --
----------------- --------------------------------------------
----------------- --------------------------------------------
------- - --------- --- ---
---- --- -------
-------- -- --- -------
----------------------------
----------------------------------
-----------
----------
---------- ----------------------- -----------------------------------------------
------------ ---------
------------ ----------
----------------- ----------------------
----------------- ----------------------------------------- --
----------------- --------------------------------------------
----------------- ----------------------------------------------

----- ------- - -------------------------------------
---------------------

上述代码中的sdpText是SDP字符串,我们通过sdp-jingle-jsontoSessionJSON方法将其解析成JSON格式,然后将其打印输出到控制台。

执行上述代码,我们将看到如下输出:

-- -------------------- ---- -------
-
  ------- - --------- ---- ---------- ---------------------- --------------- ---- -------- ----- ------ ------ -------- ----------- --
  ----- ----
  ------- - ------ -- ----- - --
  ------- - - ----- --------- ----- - -------- ------- - - --
  ---------------- - - --------- ------ ------ -------------------------------------- - --
  ------ -
    -
      ----- --------
      ----- --
      --------- ------------
      --------- ---- --- --- - - --- --- --- -- -----
      ----------- - -------- -- --- --------- --
      ----- - ----- -- -------- ----- ------ ------ -------- --------- --
      --------- -------------------
      ------- ---------------------------
      ---- --------
      -------- -----
      ------- - - ---- -- ------------ -------------------------- ---------- ------------------------------------------------- - --
      ---- -
        - ------------ ---- ------ ------- ----- ------ --------- -- ---- ------ ----- - - ---- ----------- ------ ---- -- - ---- --------------- ------ --- - - --
        - ------------ ---- ------ ------- ----- ------ --------- -- ---- ----- --
        - ------------ ---- ------ ------- ----- ------ --------- -- ---- ----- --
        - ------------ -- ------ ------- ----- ----- --------- -- ---- ----- --
        - ------------ -- ------ ------- ----- ----- --------- -- ---- ----- --
        - ------------ ---- ------ ----- ----- ------ --------- -- ---- ----- --
        - ------------ ---- ------ ----- ----- ------ --------- -- ---- ----- --
        - ------------ ---- ------ ----- ----- ------ --------- -- ---- ----- --
        - ------------ --- ------ ----- ----- ----- --------- -- ---- ----- --
        - ------------ ---- ------ ------------------ ----- ----- --------- -- ---- ----- -
      --
      ------ -
        - --- ----------- ---------- -------- ------ ------------------ --
        - --- ----------- ---------- ------- ------ ------------------------------------- --- --
        - --- ----------- ---------- ---------- ------ -------------------------------------- --
        - --- ----------- ---------- -------- ------ ---------------------------------------- -
      -
    --
    -
      ----- --------
      ----- --
      --------- ------------
      --------- ---- -----
      ----------- - -------- -- --- --------- --
      ----- - ----- -- -------- ----- ------ ------ -------- --------- --
      --------- -------------------
      ------- ---------------------------
      ---- --------
      -------- -----
      ------- - - ---- -- ------------ -------------------------- ---------- ------------------------------------------------- - --
      ---- -
        - ------------ ---- ------ ------ ----- ------ --------- - --
        - ------------ ---- ------ ------- ----- ------ --------- - -
      --
      ------ -
        - --- ----------- ---------- -------- ------ ------------------ --
        - --- ----------- ---------- ------- ------ ------------------------------------- --- --
        - --- ----------- ---------- ---------- ------ -------------------------------------- --
        - --- ----------- ---------- -------- ------ ---------------------------------------- -
      -
    -
  -
-

从上面的输出可以看出,sdp-jingle-json已经成功把SDP字符串解析成JSON格式。

转换为 SDP

我们也可以将JSON格式的SDP还原成SDP字符串。下面的代码演示了如何将JSON格式的SDP转换为SDP字符串:

-- -------------------- ---- -------
----- ------- - -
  ------- -
    -------- --------------
    ------ ------
    -------- -----
    ---------- ----
    --------------- ----
    --------- ----
  --
  ----- ----
  ------- - ------ -- ----- - --
  ------ -
    -
      --------- ------
      ----- --
      --------- --------------------
      ---- -
        ------ ----------
        ---- - - ------------ ---- ------ ------ ----- ------ --------- - - --
        ----- - ----- - --
        ----------- - - ----------- ------------- --- -------------- ---------- -- --------- ------ --------- ----------- ----- -- ----- ------ - --
        ------------ - ----- ---------- ----- ------------------------------------------------------------------------------------------------- --
        ---- --------
        -------- ----
      --
      ----- --------
      --------- ------
      ------- ---
    --
  --
  ------- - - ----- --------- ----- - ------- - - --
--

----- ------- - ------------------------------------
---------------------

执行上述代码,我们将看到如下输出:

-- -------------------- ---- -------
---
--- - - -- --- -----------
---
--- -
-------------- -----
------- - ----------------- ---
---- --- -------
----------------------------
----------------------------------
-----------
----------
---------------
--------
------------ ---------
---------------------- - --- ---------- ----------- - --- ---- ---------- -
--------------------- -----------------------------------------------------------------------------------------------

从输出中可以看出,sdp-jingle-json将JSON格式的SDP成功转换为了SDP字符串。

综上所述,sdp-jingle-json是一个非常有用的npm库。它能够将SDP转换为JSON格式,以便于我们在WebRTC应用中更方便地操作和使用。在应用中需要解析SDP或者将JSON格式的SDP重新转换为SDP字符串时,可以考虑使用sdp-jingle-json。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/74884

纠错
反馈