正常引入ffmpeg:开发环境没有错误,但是打包后会存在错误
const ffmpegPath = require("@ffmpeg-installer/ffmpeg")
const ffprobePath = require("@ffprobe-installer/ffprobe")
const ffmpeg = require("fluent-ffmpeg")
ffmpeg.setFfmpegPath(ffmpegPath.path)
ffmpeg.setFfprobePath(ffprobePath.path)
错误:
Error: spawn C:\Users\DELL\AppData\Local\Programs\electron-app\resources\app.asar\node_modules\@ffmpeg-installer\win32-x64\ffmpeg.exe ENOENT
开发环境
打印ffmpegPath
可以看到ffmpeg查找路径为node_modules,此时是正确的
生产环境
打印ffmpegPath
根据打印的path路径找到对应的安装文件夹,可以看到app.asar.unpacked\node_modules
下是存在@ffmpeg-installer
及@ffprobe-installer
解决方法:将最开始的代码的path路径的app.asar替换为app.unpacked
let ffmpegPath = require("@ffmpeg-installer/ffmpeg")
ffmpegPath.path = ffmpegPath.path.replace("app.asar", "app.asar.unpacked")
let ffprobePath = require("@ffprobe-installer/ffprobe")
ffprobePath.path = ffprobePath.path.replace("app.asar", "app.asar.unpacked")
const ffmpeg = require("fluent-ffmpeg")
ffmpeg.setFfmpegPath(ffmpegPath.path)
ffmpeg.setFfprobePath(ffprobePath.path)