当前位置: 首页 > 后端技术 > Node.js

《Node.js》FFmpeg与Node.js(二)Node.js操作FFmpeg工具选择

时间:2023-04-03 23:33:07 Node.js

我们先来看看node是怎么操作ffmpeg的?一种是使用nodeC++插件进行操作,一种是使用命令组合进行操作。我在GitHub上搜索了两个实现:ffmpeg.js使用C++插件和使用node-fluent-ffmpeg命令组合,因为命令组合可以快速了解使用方法。为了快速完成需求,我选择了后面的node-fluent-ffmpegnode-fluent-ffmpeg这个库将ffmpeg复杂的命令行用法抽象成了一个流畅易用的node.js模块。该库将ffmpeg的复杂命令行用法抽象为流,使其成为易于使用的node.js模块。node-fluent-ffmpeg可以操作ffmpeg和ffprobe为了更深入的了解这个库,优化视频加载速度,我简单阅读了这个库的源码。库整体围绕着Node.js子进程知识点展开。文件和文件夹解析选项命令预设预设capabilities.js检查是否有ffmpegffprobe.jsfprobe方法封装fluent-ffmpeg.js主体processor.js进程封装recipes.js常用方法utils.js工具最重要的知识点是subprocesschild_process操作.node-fluent-ffmpeg库node-fluent-ffmpeg的使用简单易用。导入后可以直接使用。而且整体是一个链式操作,在对象上使用方法非常方便。constffmpeg=require('fluent-ffmpeg');constcommand=ffmpeg('/path/to/file.avi').videoBitrate('1024k').videoCodec('mpeg4').size('720x?').audioBitrate('128k').audioChannels(2).audioCodec('libmp3lame').outputOptions(['-vtagDIVX']);为了高效的实现需求,最终选择了使用node-fluent-ffmpeg。