将 FFMPEG 添加到 Bluemix Node.JS buildpack

Adding FFMPEG to Bluemix Node.JS buildpack

Bluemix 似乎没有将 FFMPEG 作为标准运行时的一部分包含在内。 但是,我们想在我们的应用程序中使用 FFMPEG。

似乎 "correct" 方法是使用自定义构建包。

因此,有几个问题:

  1. 我们应该为此分叉 Bluemix 构建包,还是建议分叉 CloudFoundry 构建包?
  2. 如果我们分叉 CloudFoundry buildpack,是否会丢失 Bluemix 定制?
  3. 是否有可以从中分叉 Bluemix buildpack 的可公开访问的存储库?

我最近将第三方 C 库集成到标准 NodeJS 构建包中。您可以在此处找到帮助您构建自己的详细信息: http://jamesthom.as/blog/2015/03/04/cloud-foundry-custom-buildpacks/

我从外部仓库中 fork 了标准的 NodeJS buildpack。

有一个适用于 FFMPEG here 的 Heroku buildpack,它应该可以在 Bluemix 上运行。如 buildpack 的描述中所述,您需要将其与另一个 buildpack 组合才能获得运行时。另一种选择是将此 buildpack 中完成的操作添加到您的分叉 buildpack(所有 buildpack 具有相同的 bin/detect、bin/compile、bin/release 脚本)。

另一种选择(我更喜欢)是不分叉构建包,而是将 ffmpeg 添加为依赖项(因为它就是这样)。有一个名为 easy-ffmpeg 的 npm 包,其中包含 Windows、Mac 和 Linux 上的 ffmpeg 二进制文件(您可以使用 Bluemix 的 Linux 二进制文件)。因此,您需要做的就是将它作为 node.js 应用程序的 package.json 的依赖项添加。

我们 运行 遇到了同样的问题,所以我们分叉了标准节点构建包并添加了 FFMPEG 二进制文件。

您可以将其用作构建包:https://github.com/BlueChasm/nodejs-buildpack-ffmpeg.git

只需将以下行添加到您的 manifest.yml 文件中:

buildpack: https://github.com/BlueChasm/nodejs-buildpack.git

这里有更多信息:http://blog.bluechasm.com/post/142413412641/installing-ffmpeg-on-a-bluemix-instance-using-a