node-ffmpeg-api
v1.0.0
Published
A fluent API to FFMPEG
Downloads
5
Readme
Node FFmpeg API
一个流畅的 FFmpeg Node.js API,提供简单易用的接口来操作 FFmpeg 命令行工具。
🎉 现已完全支持 TypeScript! 享受完整的类型安全和现代开发体验。
🚀 特性
- ✅ 完整的 TypeScript 支持 - 类型安全和智能提示
- ✅ 流畅的 API 设计 - 链式调用,易于使用
- ✅ 100% 向后兼容 - 现有 JavaScript 代码无需修改
- ✅ 丰富的功能 - 音频、视频、滤镜、流处理等
- ✅ 事件驱动 - 进度监控和错误处理
📦 安装
npm install node-ffmpeg
# 或
pnpm install node-ffmpeg🚀 快速开始
JavaScript 使用
const ffmpeg = require('node-ffmpeg');
// 基本转换
ffmpeg()
.input('input.mp4')
.audioCodec('aac')
.videoCodec('libx264')
.size('640x480')
.save('output.mp4', (err) => {
if (err) console.error('转换失败:', err);
else console.log('转换完成!');
});TypeScript 使用
import { ffmpeg, FfmpegCommand } from 'node-ffmpeg';
const command: FfmpegCommand = ffmpeg()
.input('input.mp4')
.audioCodec('aac')
.videoBitrate('1000k')
.fps(30)
.size('1280x720')
.save('output.mp4', (err?: Error) => {
if (err) console.error('转换失败:', err.message);
else console.log('转换完成!');
});📚 文档
- 📖 完整文档 - 详细的使用指南和 API 参考
- 💡 TypeScript 指南 - TypeScript 使用方法和最佳实践
- 🔍 示例代码 - 可运行的示例文件
🛠 前提条件
确保您的系统上已安装 FFmpeg。
设置 FFmpeg 路径
import { ffmpeg } from 'node-ffmpeg';
// 如果 FFmpeg 不在 PATH 中,可以手动设置
ffmpeg.setFfmpegPath('/path/to/ffmpeg');
ffmpeg.setFfprobePath('/path/to/ffprobe');🎯 基本功能
音频处理
ffmpeg()
.input('audio.wav')
.audioCodec('mp3')
.audioBitrate(192)
.audioChannels(2)
.save('audio.mp3');视频处理
ffmpeg()
.input('video.avi')
.videoCodec('libx264')
.videoBitrate('2000k')
.fps(30)
.size('1920x1080')
.save('video.mp4');事件监听
ffmpeg()
.input('input.mp4')
.output('output.mp4')
.on('start', (commandLine) => {
console.log('FFmpeg 进程启动:', commandLine);
})
.on('progress', (progress) => {
console.log('进度:', progress.percent + '%');
})
.on('end', () => {
console.log('处理完成');
})
.on('error', (err) => {
console.error('处理错误:', err);
})
.run();🌟 示例
查看 examples 文件夹 获取更多实际使用示例:
🤝 贡献
欢迎提交 Pull Request 和 Issue!
📄 许可证
MIT
更多详细信息请查看 完整文档
