无法让 FFMPEG 构建包在 Heroku Node.js 服务器中工作(使用 Fluent-FFMPEG)

Can't get FFMPEG buildpack working in Heroku Node.js server (using Fluent-FFMPEG)

我在我的 Nodejs 服务器上使用了一个名为 'fluent-ffmpeg' 的库,它使我可以更轻松地使用名为 FFmpeg 的 audio/video 编辑工具,该工具在我的计算机上本地下载。

在我的电脑上运行时,我将fluent-ffmpeg指向我电脑上的FFmpeg和FFprobe的本地可执行文件,像这样:

import ffmpeg from "fluent-ffmpeg";

// When running locally, set FFmpeg and FFprobe path to the local executable files
ffmpeg.setFfmpegPath("C:/Program Files/FFMPEG/ffmpeg.exe");
ffmpeg.setFfprobePath("C:/Program Files/FFMPEG/ffprobe.exe");

部署到 Heroku 时,我必须使用 FFmpeg 'buildpack'。

我试过两个:

  1. https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest
  2. https://github.com/HasibulKabir/heroku-buildpack-ffmpeg-ffprobe

两者都不适合我。每当我使用 FFmpeg 命令时,我的 heroku 日志中都会出现以下错误:

2021-07-24T15:22:52.970990+00:00 app[web.1]:   code: 'ENOENT',
2021-07-24T15:22:52.970990+00:00 app[web.1]:   syscall: 'spawn C:/Program Files/FFMPEG/',
2021-07-24T15:22:52.970990+00:00 app[web.1]:   path: 'C:/Program Files/FFMPEG/',
2021-07-24T15:22:52.970991+00:00 app[web.1]:   spawnargs: [
2021-07-24T15:22:52.970991+00:00 app[web.1]:     '-show_streams',
2021-07-24T15:22:52.970991+00:00 app[web.1]:     '-show_format',
2021-07-24T15:22:52.970992+00:00 app[web.1]:     'temp/cf3b5f1ae270df824921364573a4366b'
2021-07-24T15:22:52.970992+00:00 app[web.1]:   ]
2021-07-24T15:22:52.970992+00:00 app[web.1]: }

部署到 Heroku 时如何在我的 Nodejs 服务器中使用 fluent-ffmpeg?

提前感谢您的帮助!

我无法让它与 fluent-ffmpeg 一起工作,但使用了构建包:

https://github.com/jonathanong/heroku-buildpack-ffmpeg-latest

我能够使用 'exec' 命令代替 fluent-ffmpeg。它要求您像在命令提示符下一样写出 ffmpeg 命令。

例如:

import { exec } from "child_process";

    exec(`ffmpeg -f concat -safe 0 -i ${filesListPath} -c copy ${mergedFilePath}`, async (error, stdout, stderr) => {
            if (error) {
                console.log(`error: ${error.message}`);
                //Do stuff to handle error
            }
            else {
               //Do stuff to handle success