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()

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM