产品简介
node-ffmpeg-stream 一个在 Node.js 环境下调用 FFmpeg 命令行的库,它将命令行操作封装为流式 API。开发者可以通过它轻松地在服务器或应用中集成音视频转码、图片处理等媒体操作,无需手动拼接复杂的命令行参数。适合需要在 Node.js 项目中进行高效、灵活媒体文件处理的后端及全栈开发者。
核心功能
- 通过 Node.js 可写/可读流定义 FFmpeg 的输入与输出
- 支持从文件路径直接定义输入/输出
- 提供缓冲式流(通过临时文件)以处理特定格式
- 通过 Promise 异步控制 FFmpeg 进程的启动与终止
- 支持传递所有 FFmpeg 标准选项(如裁剪、缩放、编码格式)
快速开始
- 确保系统已安装 FFmpeg 并加入环境变量 PATH。
- 在项目中使用 npm 安装:`npm install ffmpeg-stream`。
- 在代码中导入 `Converter` 类并创建实例。
- 使用 `createInputStream` / `createOutputStream` 或文件方法定义输入输出。
- 调用 `converter.run()` 启动处理进程。
界面预览
与其他方案对比
| 对比项 | node-ffmpeg-stream | 同类方案 |
|---|---|---|
| 接口形式 | 提供流式(Stream)和 Promise API,便于与 Node.js 应用深度集成。 | 直接调用命令行需要管理子进程,流式处理不够直观便捷。 |
| 使用场景 | 专注于在 Node.js 环境中以编程方式处理媒体流。 | 命令行工具更适合一次性或手动任务;GUI 工具适合桌面端交互操作。 |
| 灵活性 | 可传递所有 FFmpeg 选项,功能强大。 | 许多图形化转换工具提供的选项有限。 |
适合谁用
- 需要在 Node.js 应用中处理图片(如生成缩略图)的 Web 开发者
- 需要在服务器端进行视频转码或音频处理的后端工程师
- 需要自动化媒体文件处理流程的 DevOps 或脚本开发者
下载与版本
当前最新版本为 v1.0.1,发布于 2025-05-03。支持 Windows、macOS、Linux。
⚠️ 注意:本项目仅提供源代码下载,不包含可直接运行的安装包(exe/dmg/apk 等。下载后需要自行编译构建才能使用,适合有一定开发经验的用户。如果你不熟悉编译流程,建议寻找同类开箱即用的替代方案。
注意事项
- 本工具仅供学习和研究使用,请遵守相关法律法规。
- 请尊重内容创作者版权,勿将下载内容用于商业或非法传播。
- 项目源码地址:https://github.com/phaux/node-ffmpeg-stream