最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何在电子应用程序中捆绑ffmpeg

IT培训 admin 4浏览 0评论

如何在电子应用程序中捆绑ffmpeg

我正在从electron-webpack样板开始构建一个Electron应用程序。

我找到了这个节点模块@ffmpeg-installer/ffmpeg,它将兼容的预编译二进制文件安装到/node_modules目录中,然后通过它访问该可执行文件的路径。

const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path

这在开发期间工作正常,但是当我构建可分发并运行它时,我尝试使用该路径生成子进程时出错。据推测,因为路径没有指向二进制。

运行distributable时,路径设置如下。

/Users/me/project/dist/mac/AppName.app/Contents/Resources/app.asar/node_modules/@ffmpeg-installer/darwin-x64/ffmpeg

但是,在查看AppName.app包内容时,我会在以下路径中找到二进制文件。

/Users/me/project/dist/mac/AppName.app/Contents/Resources/app.asar.unpacked/node_modules/@ffmpeg-installer/darwin-x64/ffmpeg

我应该如何使用electron-webpackelectron-builder在Electron应用程序中包含二进制依赖项?

回答如下:

这很可能是因为电子会将应用程序捆绑在一个asar存档中(类似于zip / tar / jar)。因此,无法解析可执行文件的路径。尝试将asar: false传递给electron-builder(在electron-builder.json)。

如何在电子应用程序中捆绑ffmpeg

我正在从electron-webpack样板开始构建一个Electron应用程序。

我找到了这个节点模块@ffmpeg-installer/ffmpeg,它将兼容的预编译二进制文件安装到/node_modules目录中,然后通过它访问该可执行文件的路径。

const ffmpegPath = require('@ffmpeg-installer/ffmpeg').path

这在开发期间工作正常,但是当我构建可分发并运行它时,我尝试使用该路径生成子进程时出错。据推测,因为路径没有指向二进制。

运行distributable时,路径设置如下。

/Users/me/project/dist/mac/AppName.app/Contents/Resources/app.asar/node_modules/@ffmpeg-installer/darwin-x64/ffmpeg

但是,在查看AppName.app包内容时,我会在以下路径中找到二进制文件。

/Users/me/project/dist/mac/AppName.app/Contents/Resources/app.asar.unpacked/node_modules/@ffmpeg-installer/darwin-x64/ffmpeg

我应该如何使用electron-webpackelectron-builder在Electron应用程序中包含二进制依赖项?

回答如下:

这很可能是因为电子会将应用程序捆绑在一个asar存档中(类似于zip / tar / jar)。因此,无法解析可执行文件的路径。尝试将asar: false传递给electron-builder(在electron-builder.json)。

发布评论

评论列表 (0)

  1. 暂无评论