2016-12-30 111 views
1

我试图在AWS中包含ffmpeg库。在AWS中包含ffmpeg库Lambda

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); 
    }); 
} 

我测试功能的λ,它什么也不输出。想知道如何在AWS和节点j中包含ffmpeg库。任何帮助是极大的赞赏。

回答

1

目前还不清楚你想解决什么问题,请问你可以把它添加到你的问题?

从扩展名看来,您的平台使用的是二进制错误-rwxrwxrwx 1 root root 40166912 Dec 22 11:50 ffmpeg.exe,Lambda正在使用Linux kernel version – 4.4.35-33.55.amzn1.x86_64http://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html)。

取而代之的是你可以使用这个节点模块https://github.com/eugeneware/ffmpeg-static其中应该包含所有三大平台,Linux和视窗包括(从安装第三方网站的二进制文件是不是好的做法)。

请确保您的执行路径正确。