【发布时间】:2019-08-08 19:49:22
【问题描述】:
我有一个包含 nodejs ffmpeg-static 的 AWS Lambda 层。调用“ffmpeg.path”将返回该层中ffmpeg可执行文件的正确位置。
但是对 ffmpeg 的任何调用都会静默停止,让我无法知道导致错误的原因。这是我的测试功能:
const exec = require( "child_process" ).exec
const ffmpeg = require( "ffmpeg-static" )
exports.handler = async (event, context, callback ) => {
console.log( ffmpeg.path ) // Outputs: "/opt/nodejs/node_modules/ffmpeg-static/bin/linux/x64/ffmpeg"
exec( ffmpeg.path + " -version",
function( error, stdout, stderr ) {
console.log( stdout ) // Nothing
console.log( stderr ) // Nothing
if ( error ) {
console.log( error ) // Nothing
}
}
)
永远不会触发 exec() 回调。如何识别问题?
【问题讨论】:
-
尝试用外壳包裹 exec,它可能会提供一些线索。所以像
exec("sh -c \""+ffmpeg.path+" -version\"") -
@MattiasWadman,谢谢你的建议......仍然默默地失败。
标签: node.js ffmpeg aws-lambda