You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

本地Node.js环境执行ffprobe二进制文件失败求助

Node.js脚本执行ffprobe二进制文件失败排查

在本地Node.js脚本中执行ffprobe二进制文件时遇到异常:通过fluent-ffmpeg库调用ffprobe提取视频元数据失败,但在终端直接执行该ffprobe二进制文件可得到预期输出。

项目结构

project-root/
├── assets/
│   └── video.mp4
├── node_modules/
├── src/
│   └── index.js
├── layers/
│   └── ffmpeg/
│       └── ffprobe   <-- 待执行的二进制文件
├── package.json
├── package-lock.json

示例代码

const { exec } = require('child_process');
const binaryPath = './layers/ffmpeg/ffprobe';

exec(binaryPath, (error, stdout, stderr) => {
    if (error) {
        console.error(`Error: ${error.message}`);
        return;
    }

    console.log('Command executed successfully');
    console.log('stdout:', stdout);
    console.error('stderr:', stderr);
});

错误信息

Error: Command failed: ./layers/ffmpeg/ffprobe
./layers/ffmpeg/ffprobe: ./layers/ffmpeg/ffprobe: cannot execute binary file

已完成的排查步骤

  • 执行chmod +x确保ffprobe二进制文件拥有可执行权限
  • 验证ffprobe二进制文件架构为arm64,与本地系统匹配
  • 确认二进制文件路径正确且无特殊字符
  • 测试exec函数执行ffprobe的基础逻辑,仍失败

已尝试上述多种排查步骤,但仍无法在Node.js环境中执行ffprobe二进制文件,期望脚本能像终端中一样成功运行ffprobe并输出预期结果。

请问为何ffprobe二进制文件在Node.js环境中执行失败,而终端中可正常运行?是否遗漏了其他需要考虑的因素?

内容的提问来源于stack exchange,提问作者dzul.stellar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 06:16:21