2016-12-30 107 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和視窗包括(從安裝第三方網站的二進制文件是不是好的做法)。

請確保您的執行路徑正確。