zoukankan      html  css  js  c++  java
  • 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()
     
  • 相关阅读:
    理解HTTP幂等性
    企业技术树
    数据库MySQL-Oracle-DB2-SQLServer分页查询
    Redis安装教程
    Redis VS Memcached
    Redis简介
    Redis系列文章导读
    坐标轴
    图例
    画网格
  • 原文地址:https://www.cnblogs.com/rchao/p/15055864.html
Copyright © 2011-2022 走看看