无法在 Heroku Node.js 服务器中使用 FFMPEG buildpack使用 Fluent-FFMPEG

问题描述

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

在我的电脑上运行时,我将 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,但使用 buildpack:

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...