在AWS Lambda中包含ffmpeg库

时间:2016-12-30 19:29:04

标签: node.js amazon-web-services ffmpeg aws-lambda

我正在尝试将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库。非常感谢任何帮助。

1 个答案:

答案 0 :(得分: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,Windows(从第三方网站安装二进制文件不是一个好习惯)。

确保执行路径正确。