npm 包 princip-ffmpeg-stream-to-buffer 使用教程

阅读时长 4 分钟读完

What is princip-ffmpeg-stream-to-buffer

princip-ffmpeg-stream-to-buffer 是一个基于 ffmpeg 工具编写的 npm 包,可以将视频流转换为 buffer 格式,可在浏览器中播放。

Installation

Usage

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

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

该 npm 包暴露了一个方法 ffmpegStreamToBuffer,该方法接受一个参数 url,表示需要被转换的视频流地址,返回一个 Promise 对象,该对象的 resolve 值是 buffer 格式的视频数据。

Options

ffmpegStreamToBuffer 方法还接受一个 options 参数,该参数是一个对象,可以传入各种配置信息,如下:

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

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

logLevel

可选,表示要记录的信息级别,值为 'debug', 'info', 'warn' 或 'error'。默认值 'info'

fps

可选,表示 frames per second(每秒帧数),默认值 25。

timeout

可选,表示转换超时时间,超时后方法会返回一个错误。默认值 0,表示不超时。

customArgs

可选,这是一个数组,传入自定义的 ffmpeg 命令行参数。默认值为空数组。如果你想使用特殊参数进行转换,则可传入参数数组。

示例代码

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

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

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

Conclusion

princip-ffmpeg-stream-to-buffer 是一个非常简单易用的 npm 包,使用它可以将视频流转换为 buffer 格式,让它可以在浏览器上播放。如果你在前端项目中需要用到视频流,那么 princip-ffmpeg-stream-to-buffer 绝对值得一试。

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

纠错
反馈