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

问题描述 投票:0回答:4

在最新版本(v0.31.0)中,Electron 附带了静态链接的 FFMpeg 库(不是命令行工具,请参阅#2588

我知道 ffmpeg 有很多 Nodejs 模块,但它们看起来都像命令行工具的 api,那么我如何理想地访问与 Electron 捆绑的 ffmpeg 库并对流进行编码?

node.js ffmpeg electron
4个回答
12
投票

免责声明:这是我创建的ffbinaries节点模块和ffbinaries.com API的无耻插件。

我不久前正在寻找这个问题的答案,但找不到任何有用的东西。我决定自己整理一些东西,并想我会回到这里以防万一你仍然需要它。

我创建了 ffbinaries downloader 来实现此目的。我两天前才开始这样做,所以可能仍然有所欠缺,但请尝试一下。

仍有大量工作正在进行中,目前(0.0.12)它尚未设置文件权限,但它可以很好地下载所需的二进制文件。

编辑: ffbinaries 不久前已经达到版本 1.0.0 里程碑 - 很好,稳定,并且它确实正确设置了权限:)


2
投票

目前这是不可能的,因为 Node.js 没有像样的

ffmpeg
库。意思是,只有这样的抽象 CLI。然而,可以将
ffmpeg
编译并链接为节点本机插件,但似乎还没有人这样做过。因此,不幸的是,建议是编写这种抽象并将库包含到您的电子构建中


1
投票

可以将预编译的静态 ffmpeg 二进制文件与电子应用程序捆绑在一起;当然,您必须确保将正确的二进制文件与正确的发行版捆绑在一起。 我有一个完整的答案这里


0
投票

使用ffmpeg静态

const pathToFfmpeg = require('ffmpeg-static')
const { spawn } = require('child_process')

spawn(pathToFfmpeg, [
  // ...,
  // '-i', 'input', 'output'
])
© www.soinside.com 2019 - 2024. All rights reserved.