У меня есть сценарий обработки видео на AWS Lambda.«Невозможно найти модуль fluent-ffmpeg» на AWS Lambda
Хотя это, кажется, работает отлично локально (проверено с помощью lambda-local), у меня странный вопрос, когда он работает на Lambda:
{
"errorMessage": "Cannot find module 'fluent-ffmpeg'",
"errorType": "Error",
"stackTrace": [
"Function.Module._resolveFilename (module.js:338:15)",
"Function.Module._load (module.js:280:25)",
"Module.require (module.js:364:17)",
"require (module.js:380:17)",
"Object.<anonymous> (/var/task/processing.js:2:14)",
"Module._compile (module.js:456:26)",
"Object.Module._extensions..js (module.js:474:10)",
"Module.load (module.js:356:32)",
"Function.Module._load (module.js:312:12)",
"Module.require (module.js:364:17)"
]
}
зипа Я загрузка содержит следующие файлы:
~$ find . -maxdepth 2
.
./bin
./bin/ffmpeg
./config.js
./event-samples
./event-samples/custom.js
./event-samples/dynamodb-update.js
./event-samples/kinesis.js
./event-samples/s3-put.js
./frames
./Gulpfile.js
./index.js
./node_modules
./node_modules/async
./node_modules/aws-sdk
./node_modules/fluent-ffmpeg
./node_modules/gulp
./node_modules/gulp-awslambda
./node_modules/gulp-zip
./package.json
./processing.js
./utils.js
(Багги требуют расположен в Processing.js)
Если я открываю ZIP, node_modules/fluent-ffmpeg/*
действительно есть.
Я попытался включить модуль с помощью:
require("./node_modules/fluent-ffmpeg/index")
require(__dirname + "./node_modules/fluent-ffmpeg/index")
require(process.env.LAMBDA_TASK_ROOT + "/node_modules/fluent-ffmpeg/index")
Но ни один из них решил проблему. Я также попытался переустановить узел и npm на моей машине, rm -rf node_modules
и npm install
(на всякий случай).
Поскольку Lambda запускает узел 0.10.36, я также попытался использовать эту версию на своей машине, чтобы сделать npm install
, но это ничего не меняет.
Помогите оценить.
Спасибо!
Возможно, попробуйте [вилку AWS] (https://github.com/binoculars/aws-lambda-ffmpeg)? – Andy
Если я ошибаюсь, эта библиотека предназначена для изменения размера и создания миниатюр видео, не так ли? В этом случае это не относится к тому, что мне нужно сделать (извлечение каждого кадра видео) – christophetd
Извините, я думал, что это была одна и та же библиотека. – Andy