lambda层的src ffmpeg二进制



您如何将lambda指向ffmpeg静态二进制

这是我到目前为止的设置

输入S3触发 -> lambda-> src层 ->输出 -> s3

lambda code ------------在我的本地计算机上工作的目标是使其在AWS上工作

import json
import subprocess

def lambda_handler(event, context):
    # TODO implement
    print("I am being Triggered")
    p = subprocess.call(
    'ffmpeg -r 1 -loop 1 -i "./S3_Input.png" -i "./S3_File.mp3" -acodec copy -r 1 -shortest -vf scale=1280:720 ep1.flv', shell=True)

    return {
        'statusCode': 200,
        'body': json.dumps('Hello from Lambda!')
    }

来自文档:

在功能执行环境中将层提取到/opt目录。

我不确定您是如何将ffmpeg打包在图层中的,但是假设二进制文件位于顶级,则需要像/opt/ffmpeg一样引用它。因此,您对subprocess.call()的第一个论点看起来更像:

'/opt/ffmpeg -r 1 -loop 1 -i "./S3_Input.png" -i "./S3_File.mp3" -acodec copy -r 1 -shortest -vf scale=1280:720 ep1.flv'

如果二进制更深,例如。在bin目录中,您将其引用如/opt/bin/ffmpeg

最新更新