fluent-ffmpeg

时间:2021-07-26
本文章向大家介绍fluent-ffmpeg,主要包括fluent-ffmpeg使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
fluent-ffmpeg 只能在electron 主进程使用
安装 yarn add fluent-ffmpeg
修改 /node_modules/fluent-ffmpeg/index.js
// module.exports = process.env.FLUENTFFMPEG_COV ? require('./lib-cov/fluent-ffmpeg') : require('./lib/fluent-ffmpeg');
// 下面这种方式也可以
// module.exports = require(`./lib${process.env.FLUENTFFMPEG_COV ? '-cov' : ''}/fluent-ffmpeg`)
module.exports = require('./lib/fluent-ffmpeg');
lib-cov/fluent-ffmpeg 没有直接不引入就可以了
这么修改有问题,安装其他插件时,这里可能会被还原,需要在去修改 暂时没有找到好的方法


import ffmpeg from 'fluent-ffmpeg';

ffmpeg(srcPath, options)
// 如果本地安装了ffmpeg 并配置到环境变量的path中setFfmpegPath可以不设置 // 建议把ffmpeg嵌入到应用中,不然做好的应用放到没有安装ffmpeg的机器上就不能运行了 .setFfmpegPath('ffmpeg.exe的全路径') .audioCodec('aac') .videoCodec('libx264') .audioBitrate('128k') // .input('/path/to/video.avi') 输入文件 可以多个 addInput mergeAdd 和input效果一样下 这三个函数用哪个都可以 // mergeToFile('/path/to/merged.avi', '/path/to/merge') 合并多个输入文件为一个文件 第二个参数为临时文件夹 // .videoBitrate('1024k', true) 视频比特率 true强制执行恒定比特率 // .videoBitrate('1024k') // .size('640x480') // .size('640x?') // .size('640x?').aspect('4:3') size 为固定值或百分比 aspect 无效 // .size('50%') 将宽度和高度缩放至指定宽高比 // .audioChannels(2) // .noVideo() // .noAudio() .fps(25) .output(outPath) .on('codecData', data => { // 获取视频的信息 console.log('codecData:', data) }) .on('error', (err, stdout, stderr) => { console.error(err); console.error(stdout); console.error(stderr); reject(err); }) .on('start', (str) => { console.log('开始:', str) }) .on('progress', (process) => { console.log('进度:', process) }) .on('end', (str) => { console.log('结束:', str); resolve(); }) .run()
 

原文地址:https://www.cnblogs.com/rchao/p/15055864.html