npm 包 ffmpeg-progressbar-cli 使用教程

在前端开发或者多媒体处理的过程中,我们可能会经常使用到 ffmpeg 这个工具来进行音视频的转码、裁剪等操作,而其中往往需要一些将转码进度以进度条的形式展示出来的功能,这个时候可以使用 npm 包 ffmpeg-progressbar-cli,来方便地实现进度条效果。

安装及使用

我们首先需要在终端中使用 npm 安装 ffmpeg-progressbar-cli:

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

下面我们来看一个简单的转码与进度条效果的代码示例:

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

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

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

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

在上面的代码中,我们首先引入了 ffmpeg 和 ffmpeg-progressbar-cli 两个 npm 包,然后定义了源视频文件和输出视频文件的路径。

通过 ffmpeg() 创建出一个 ffmpeg 对象,并使用 .input() 方法读取源视频文件。

然后使用 .outputOptions() 方法添加转码参数,并使用 .output() 方法指定输出文件路径。

在转码进行的时候,使用 .on('progress', progress => {...}) 方法监听进度事件,并在其中使用 progressbar.render(progress) 方法来实时渲染进度条。

最后通过 .run() 方法启动 ffmpeg 进行转码。

API 及参数

在进度条的使用中,我们可以使用以下四个 API 来进行控制:

progressbar.init(total, width, theme)

用于初始化进度条的总长度、宽度和主题颜色。其中:

  • total 参数为总长度,必须为数字类型
  • width 参数为进度条的宽度,默认为 50,必须为数字类型
  • theme 参数为进度条的颜色主题,默认为 "#" + Math.floor(Math.random() * 0xffffff).toString(16) 自动生成

progressbar.render(progress)

用于在终端中实时渲染进度条,其中 progress 参数为当前进度百分比,应为 0~1 之间的小数。

progressbar.success(message)

用于在终端中打印操作成功的消息,其中 message 参数为要输出的消息。

progressbar.error(message)

用于在终端中打印操作失败的消息,其中 message 参数为要输出的消息。

总结

在本文中,我们介绍了 npm 包 ffmpeg-progressbar-cli 的使用方法,详细介绍了其各个 API 和参数的含义及使用方法,并提供了一个代码示例,希望能够帮助读者更好地使用 ffmpeg 进行转码操作。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/600668f8d9381d61a3540f8f


猜你喜欢

  • npm 包 jean-color-picker 使用教程

    在前端开发过程中,我们经常需要使用到颜色选择器。而 jean-color-picker 就是一个非常好用的 npm 包,它可以帮助我们方便快捷地在页面上调用出色彩选择器,提高开发效率。

    3 年前
  • npm 包 touch-bar 使用教程

    在 macOS 上,Touch Bar 是一种将键盘的一部分改装为可自定义的多功能条形显示器的硬件。Touch Bar 提供了一些可自定义的按钮和显示,可实现与应用程序交互。

    3 年前
  • npm 包 mytype-demo 使用教程

    简介 mytype-demo 是一个基于 TypeScript 的 Type 的检测工具包,可以检测常用的数据类型,包括字符串、数字、布尔类型等等。本教程将详细介绍如何使用该工具包,并提供一些示例代码...

    3 年前
  • npm 包 @amory/typescript 使用教程

    介绍 @amory/typescript 包提供了一些 TypeScript 相关的工具类和类型定义,用于优化 TypeScript 代码编写过程中的开发效率和稳定性。

    3 年前
  • npm 包 uri-toolkit 使用教程

    介绍 uri-toolkit 是一个 JavaScript 库,用于处理 URL 的字符串和对象。它可以提供方便的 URI 解析、构建和修改功能,使得处理 URL 变得更加方便和高效。

    3 年前
  • npm 包 util-modules 使用教程

    在前端开发中,我们常常需要用到一些常用的工具类函数,比如判断数据类型、对象深拷贝、日期格式化等。要实现这些函数功能,我们可以自己实现,但实现过程需要花费非常多的时间和精力。

    3 年前
  • npm 包 @anderspitman/ws-streamify 使用教程

    介绍 @anderspitman/ws-streamify 是一个 npm 包,它可以使 WebSockets 流化。这个库的主要目的是在 Node.js 环境中最大化 WebSockets 的效用,...

    3 年前
  • npm 包 json-schema-model-builder 使用教程

    前言 在现代 Web 应用程序中,从后端 API 接收到的数据通常是 JSON 对象。然而,客户端应用程序需要使用那些数据,通常需要解决几个问题:如何将 JSON 对象转换成适用于应用程序的模型,如何...

    3 年前
  • npm 包 storybook-addon-code 使用教程

    在前端开发中,我们经常需要展示一些示例代码来演示我们的组件或页面的功能。以往,我们可能需要手动复制粘贴这些代码,或者使用截图的方式展示。但是,这些方法都不够高效、不够灵活。

    3 年前
  • npm 包 tesk 使用教程

    在前端开发中,经常需要处理一些重复性的、枯燥的工作,例如代码压缩、CSS 样式合并、打包等等。为了方便工作,我们可以使用自动化构建工具 Gulp 或者 Grunt。

    3 年前
  • npm 包 @risd/emberfire 使用教程

    前言 对于很多前端开发者来说,使用 npm 是日常开发中非常常见的一件事情。而其中的 @risd/emberfire 这个 npm 包,作为一个集成了 Firebase 功能的 Ember 插件,提供...

    3 年前
  • npm 包 gallifrey-adb-lib 使用教程

    前言 随着移动设备的普及和 Android 系统的开源,越来越多的开发者开始涉足 Android 测试领域。为了更好地对 Android 设备进行自动化测试,我们需要使用一些工具和库来辅助我们实现测试...

    3 年前
  • npm 包 build-output-script 使用教程

    简介 build-output-script 是一款用于前端自动化构建和输出最终文件的工具,支持多个源目录和输出目录,可以自由配置各种类型的文件的处理方式,例如压缩、合并、加前缀等。

    3 年前
  • npm 包 icharts 使用教程

    介绍 iCharts 是一套基于 Echarts 的数据可视化工具集。iCharts 在 Echarts 的基础上进行了二次封装,增加了图形、动画、交互等多个模块,使数据可视化更加简单易用。

    3 年前
  • npm 包 chatwork-api-wrap 使用教程

    前言 在如今互联网高度发达的时代,即时通信工具已经成为了我们工作和日常交流的重要方式之一。而 Chatwork 作为一款广受欢迎的团队协作工具,其 API 也备受开发者关注。

    3 年前
  • npm 包 pizza-cli 使用教程

    在前端开发中,我们经常需要使用一些工具来简化流程并提高工作效率。npm 包是最常用的一种工具,它提供了大量的插件和库,用来解决各种问题。在这篇文章中,我将向大家介绍一个非常实用的 npm 包:pizz...

    3 年前
  • NPM 包 typeself 使用教程

    什么是 typeself typeself 是一个专注于 JavaScript 类型体系的开源工具库,通过使用 typeself,您可以有效地降低由于 JavaScript 动态类型系统而导致的错误率...

    3 年前
  • npm 包 juyuan-cli 使用教程

    介绍 juyuan-cli 是一个基于 Node.js 的命令行工具,用于快速创建基于 Ant Design Pro 和 UmiJS 的 React 项目,提供了一系列的模板和命令行选项,大大提升了前...

    3 年前
  • npm 包 lingxi-ui 使用教程

    简介 Lingxi-UI 是一个基于 Vue 的组件库,用于快速搭建前端应用,提高开发效率。 安装 可以通过 npm 安装 lingxi-ui: --- ------- ---------也可以通过 ...

    3 年前
  • npm 包 react-dou 使用教程

    React-dou 是一个用于构建响应式布局的 React 组件库,它具有易用性和强大的布局能力。在本教程中,我们将介绍如何使用 react-dou 构建可以适应不同尺寸的布局。

    3 年前

相关推荐

    暂无文章