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

AWS Lambda调用ffmpeg遇ENOENT错误,部署后失效求助

AWS Lambda中FFmpeg执行异常:本地正常但云端无反应,前期遇ENOENT错误

问题背景

已尝试各类调试方法均无效,耗时3天:

  • 本地开发阶段:
    • WSL(Ubuntu)环境下报错:spawn usr/bin/ffmpeg ENOENT
    • Windows环境下报错:spawn path/to/ffmpeg.exe ENOENT
    • 已确认对应路径下FFmpeg存在,执行path/to/ffmpeg -version可正常输出版本信息,已通过chmod +x赋予执行权限
    • 尝试过通过sam deploy --guide部署并在AWS控制台添加Lambda层,将FFmpeg文件移至项目根目录仍报错
  • 调整部署方式后:
    • 本地环境可正常运行,但部署至AWS Lambda后FFmpeg未执行,无任何报错信息
    • 尝试自行创建FFmpeg层也无进展

相关代码

初始代码(本地调试阶段)

import { spawn } from 'child_process';
import ffmpeg from 'fluent-ffmpeg';
const isLocal = process.env.AWS_SAM_LOCAL; // 检测本地SAM环境

const ffmpegPath = isLocal ? 'C:\\ProgramData\\chocolatey\\lib\\ffmpeg\\tools\\ffmpeg\\bin\\ffmpeg.exe' : '/opt/bin';

ffmpeg.setFfmpegPath(ffmpegPath);

const ffmpegArgs = [
      '-i',
      inputFilePath,
      '-vf',
      `crop=9/16*ih:ih:scale=1080:1920`,
      '-c:v',
      'libx264',
      '-c:a',
      'aac',
      '-strict',
      'experimental',
      outputFilePath,
    ];

const ffmpegProcess = spawn(ffmpegPath, ffmpegArgs);

更新后的代码(改为随项目部署FFmpeg)

import { spawn } from 'child_process';
import ffmpeg from 'fluent-ffmpeg';
import path from 'path'; // 补充导入path模块

const ffmpegPath = path.resolve(__dirname, 'bin', 'ffmpeg');

ffmpeg.setFfmpegPath(ffmpegPath);

// FFmpeg参数部分同初始代码
const ffmpegArgs = [
      '-i',
      inputFilePath,
      '-vf',
      `crop=9/16*ih:ih:scale=1080:1920`,
      '-c:v',
      'libx264',
      '-c:a',
      'aac',
      '-strict',
      'experimental',
      outputFilePath,
    ];

const ffmpegProcess = spawn(ffmpegPath, ffmpegArgs);

package.json部署脚本

{
  "scripts": {
    "prebuild": "echo 'Running prebuild...'",
    "build": "sam build",
    "postbuild": "cp -r ./api/bin ./.aws-sam/build/ProcessVideoFunction/ && echo 'bin copied'"
  }
}

补充说明

项目结构已调整为将FFmpeg放置在./api/bin目录,通过postbuild脚本复制到SAM构建后的函数目录中。


内容的提问来源于stack exchange,提问作者nemerem

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 04:27:14