我正在尝试将ffmpeg
库包含在AWS中。
drwxrwxrwx 2 root root 0 Dec 22 13:04 bin
-rwxrwxrwx 1 root root 40166912 Dec 22 11:50 ffmpeg.exe
-rwxrwxrwx 1 root root 30 Dec 22 13:04 version.sh
drwxrwxrwx 2 root root 0 Dec 22 16:35 node_modules
-rwxrwxrwx 1 root root 594 Dec 22 13:03 package.json
-rwxrwxrwx 1 root root 818 Dec 30 11:04 SplitFrames.js
以下是主要的js文件SplitFrames.js
中的内容var execute = require('lambduh-execute');
var validate = require('lambduh-validate');
process.env['PATH'] = process.env['PATH'] + ':/tmp/:' + process.env['LAMBDA_TASK_ROOT']
exports.handler = function(event, context, callback) {
var exec = require('child_process').exec;
var cmd = 'ffmpeg -version';
exec(cmd, function(error, stdout, stderr) {
console.log(stdout);
callback(null, stdout);
});
}
我在lambda中测试函数,它什么也没输出。想知道如何在AWS和节点js中包含ffmpeg库。非常感谢任何帮助。
答案 0 :(得分:1)
目前还不清楚你想解决什么问题,请你把它添加到你的问题中吗?
从扩展程序看,您使用的是错误的二进制平台-rwxrwxrwx 1 root root 40166912 Dec 22 11:50 ffmpeg.exe
,Lambda正在使用Linux kernel version – 4.4.35-33.55.amzn1.x86_64
(http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html)。
而不是你可以使用这个应该包含所有三个大平台的节点模块https://github.com/eugeneware/ffmpeg-static,包括Linux,Windows(从第三方网站安装二进制文件不是一个好习惯)。
确保执行路径正确。