Using ffmpeg.dll / libffmpeg.so in electron with node


#1

Heya

I use the “electron-packager” to package my app. The electron-packager puts some .dll / .so of ffmpeg into the root directory of the app. Is there any way to use that ffmpeg in my app (with something like “fluent-ffmpeg”) or do I have to ship the ffmpeg binaries (.exe of ffmpeg) myself to achieve this?


#2

You can include ffmpeg binaries inside your package but you’ll have to make sure to connect to it in your app. (i.e. if you’re using execute you have to provide the package address with the library address. If you’re using one of the npm packages you’ll have to modify them to use the library in the specific location in your app directory.


#3

So that means I have to ship a binary. (.exe) and can’t use the library version (.dll) that electron puts?


#4

It’s not clear to me what libraries Electron ships with. Supposedly ffmpeg but read conflicting reports.
I had trouble with one of the npm ffmpeg compiled on a Mac and attempting to run on another Mac. For whatever reason it wasn’t connectign to ffmpeg.
I was already supporting another less common library so added ffmpeg to make sure it work on other machines once it was packaged.

Best bet is to test it or if someone knows for sure (and reliable method of using ffmpeg) please post.


#5

Hi all,

Electron ships with dll/so only while all the libraries (i.e. fluent-ffmpeg) require a binary.

A while back I created module and an API at http://ffbinaries.com (there’s a link to npm module on the site - not sure why links to npm are not allowed here). It downloads the binary for the desired platform. You can simply include it in your build steps and point the binding libraries to the prebuilt file that ffbinaries will download for you. It works cross-platform.