即使 ffmpeg 二进制文件已添加到 package.json,“找不到 FFMPEG”

Posted

技术标签:

【中文标题】即使 ffmpeg 二进制文件已添加到 package.json,“找不到 FFMPEG”【英文标题】:"FFMPEG not found" even though ffmpeg-binaries have been added to the package.json 【发布时间】:2019-01-19 17:12:40 【问题描述】:

我使用 Heroku 让我的机器人保持在线状态,因此将 FFMPEG 安装到我的计算机对我没有任何帮助。

问题是尽管将 npm ffmpeg-binaries 添加到我的 package.json 的依赖项中,我仍然收到此错误。我还尝试使用来自 Github 和官方 FFMPEG 网站的 git URL,以及尝试使用 Heroku 应用程序页面中的 run-command 选项直接安装 git,但我一直收到同样的错误。我错过了什么吗?

【问题讨论】:

【参考方案1】:

问题很可能是 ffmpeg 目录不在 PATH 上。 您应该使用 node_modules 目录中的 ffmpeg 可执行文件的绝对路径。如果您需要 ffmpeg-binaries,您将获得绝对路径。

const ffmpegPath = require('ffmpeg-binaries');
spawn(ffmpegPath, ['-i', 'video.mkv', 'video.mp4']);

另外,请注意 ffmpeg-binaries 安装特定于平台的二进制文件,因此您应该在目标平台上执行 npm install 或使用包含所有受支持平台的二进制文件的另一个包,例如 ffmpeg-static

【讨论】:

以上是关于即使 ffmpeg 二进制文件已添加到 package.json,“找不到 FFMPEG”的主要内容,如果未能解决你的问题,请参考以下文章

Qt 资源文件利用率

使用PowerShell和FFMPEG将音频和字幕源条带化并添加到INDEX.M3U8

FFMPEG 附加文件作为元数据

使用 Python 子进程冻结到 FFMPEG

ffmpeg在开始和结束之前将广告音频文件添加到原始音频文件[重复]

如何使用 VLC 或 FFMPEG 命令行将外部音轨添加到视频文件