电子 - 如何在电子应用程序中使用 ffmpeg
Posted
技术标签:
【中文标题】电子 - 如何在电子应用程序中使用 ffmpeg【英文标题】:electron - how to use ffmpeg within an electron app 【发布时间】:2015-11-24 06:59:00 【问题描述】:在最后一个版本 (v0.31.0) 中,electron 带有一个静态链接的 FFMpeg 库(不是命令行工具,请参阅#2588)
我知道 ffmpeg 的许多 nodejs 模块,但它们看起来都像命令行工具的 api,那么我如何才能理想地访问与 electron 捆绑的 ffmpeg 库并编码流?
【问题讨论】:
我曾经围绕 FFMPEG for node 的一些基本解码功能编写了一个本地 C++ 包装器,我可以发布它,如果您愿意,可以尝试调整它以满足您的需求。我认为这是在没有命令行工具的情况下直接使用 FFMPEG 的唯一方法。 【参考方案1】:目前这是不可能的,因为 node.js 没有像样的 ffmpeg
库。意思是,只有这样抽象 CLI。但是,可以将ffmpeg
编译和链接为节点本机插件,这似乎还没有人做过。因此,不幸的是,建议是编写这种抽象并将 lib 包含到您的电子构建中
【讨论】:
所以,基本上,你的意思是 - 他们将 ffmpeg 与电子捆绑在一起,但我们不能使用它? (至少不是没有额外的麻烦)【参考方案2】:免责声明:这是我创建的ffbinaries Node 模块和ffbinaries.com API 的无耻插件。
前段时间我一直在寻找这个问题的答案,但找不到任何有用的东西。我决定自己整理一些东西,并认为我会回到这里以防你仍然需要它。
我创建了ffbinaries downloader 来实现这一点。我是两天前才开始做的,所以可能还有不足,但请尝试一下。
还有很多工作正在进行中,目前(0.0.12)它还没有设置文件的权限,但它下载所需的二进制文件就好了。
编辑: ffbinaries 已经达到了 1.0.0 版本的里程碑 - 很好,很稳定,它确实正确设置了权限:)
【讨论】:
【参考方案3】:可以将预编译的静态 ffmpeg 二进制文件与电子应用程序捆绑在一起;当然,您必须确保将正确的二进制文件与正确的发行版捆绑在一起。我有一个完整的答案here。
【讨论】:
以上是关于电子 - 如何在电子应用程序中使用 ffmpeg的主要内容,如果未能解决你的问题,请参考以下文章