Ich führe ein Videoverarbeitungsskript auf AWS Lambda.'Modul nicht flüssig-ffmpeg gefunden' auf AWS Lambda
Während es vollkommen lokal scheint zu funktionieren (getestet mit lambda-local), ich bin ein seltsames Problem mit, wenn es läuft auf 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)"
]
}
Die ZIP Ich bin das Hochladen enthält die folgenden Dateien:
~$ 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
(Der Buggy benötigen befindet sich in processing.js)
Wenn ich die ZIP öffnen, node_modules/fluent-ffmpeg/*
existiert.
Ich habe versucht, das Modul schließen ein:
require("./node_modules/fluent-ffmpeg/index")
require(__dirname + "./node_modules/fluent-ffmpeg/index")
require(process.env.LAMBDA_TASK_ROOT + "/node_modules/fluent-ffmpeg/index")
Aber keiner von ihnen das Problem gelöst. Ich versuchte auch, Knoten und npm auf meiner Maschine, rm -rf node_modules
und npm install
neu zu installieren (nur für den Fall).
Da Lambda Knoten 0.10.36 ausführt, habe ich auch versucht, diese Version auf meiner Maschine zu verwenden, um die npm install
zu tun, aber das ändert auch nichts.
Hilfe geschätzt.
Danke!
Vielleicht versuchen Sie die [AWS Gabel statt] (https://github.com/binoculars/aws-lambda-ffmpeg)? – Andy
Wenn ich mich nicht irre, ist diese Bibliothek zum Ändern der Größe und zum Erstellen von Video-Thumbnails, oder? In diesem Fall gilt das nicht für das, was ich tun muss (extrahieren jedes Frame eines Videos) – christophetd
Entschuldigung, ich dachte, es wäre die gleiche Bibliothek. – Andy