相关疑难解决方法(0)

电子 - 如何在电子应用程序中使用ffmpeg

在最后一个版本(v0.31.0)中,电子带有静态链接的FFMpeg库(不是命令行工具,请参阅#2588)

我知道ffmpeg的很多nodejs模块,但它们看起来都像是命令行工具的api,所以我怎样才能理想地访问与电子捆绑在一起的ffmpeg库并对流进行编码?

ffmpeg node.js electron

12
推荐指数
2
解决办法
5023
查看次数

如何将预编译的二进制文件与电子捆绑在一起

我试图用电子应用程序包含预编译的二进制文件.我开始使用电子快速启动应用程序并修改我的renderer.js文件以包含在文件被丢弃在主体上时触发的代码:

spawn = require('child_process').spawn,
  ffmpeg = spawn('node_modules/.bin/ffmpeg', ['-i', clips[0], '-an', '-q:v', '1', '-vcodec', 'libx264', '-y', '-pix_fmt', 'yuv420p', '-vf', 'setsar=1,scale=trunc(iw/2)*2:trunc(ih/2)*2,crop=in_w:in_h-50:0:50', '/tmp/out21321.mp4']);

ffmpeg.stdout.on('data', data => {
  console.log(`stdout: ${data}`);
});
ffmpeg.stderr.on('data', data => {
  console.log(`stderr: ${data}`);
});
Run Code Online (Sandbox Code Playgroud)

我已将预编译的ffmpeg二进制文件放入node_modules/.bin/.在开发面板中一切都很好用,但是当我使用电子打包器设置应用程序时,它会spawn error ENOENT在触发时向控制台抛出一个.我确实在SO上找到了一个非常相似的问题,但这个问题似乎没有得到明确的回答.电子打包npm页面确实显示它们可以捆绑,但我找不到任何关于如何操作的文档.

ffmpeg node.js electron

12
推荐指数
3
解决办法
5060
查看次数

如何将第三方二进制文件与Electron捆绑在一起?

总体而言,我仍然对电子生态系统和桌面开发还不陌生,但是我想做的是与软件捆绑在一起的第三方开源应用程序进行交互。首先,我不确定要分发的软件包选项应该是什么。习惯上有两次下载,一次是针对已经安装了第三方二进制文件的用户,另一次是包含该二进制文件的用户?另外,我该如何实际打包和安装二进制文件?这应该是我package.json上的一个选项吗?我应该执行哪种脚本?是否有任何npm模块可简化此操作?

编辑 -是否可以从我的main.js中调用npm,即使用户先前未安装节点也是如此?我知道节点与电子封装捆绑在一起,但是npm也是吗?

-在这种情况下,二进制文件是PostgreSQL

installation desktop-application package node.js electron

6
推荐指数
1
解决办法
2083
查看次数

用 Electron 嵌入 Mongodb

我将 MongoDB 源代码保存在电子源代码中,并使用以下命令运行 MongoDB:

const app = require('electron').app;
const child_process = require('child_process');
const dbInstanceDir = app.getAppPath();
const startMongo = dbInstanceDir + mongodb/bin/mongod --dbpath mydbpath --port 27017 --logpath mylogfile

child_process.exec(startMongo, (error, stdout, stderr) => {
});
Run Code Online (Sandbox Code Playgroud)

以上命令在开发时有效,但在捆绑后无效。我正在使用电子生成器制作捆绑包。MongoDB 源代码位于根级别。

在此处输入图片说明

electron electron-builder

5
推荐指数
1
解决办法
6758
查看次数