从AWS运行FFmpeg

时间:2019-05-09 22:50:47

标签: python amazon-s3 ffmpeg aws-lambda

此代码可在我的本地计算机上完美运行。

import subprocess

p = subprocess.call('ffmpeg -r 1 -loop 1 -i "ep1.png" -i "ep1.mp3" -acodec copy -r 1 -shortest -vf scale=1280:720 ep1.flv',shell=True)

我想从AWS运行它

Lambda代码

import boto3

import subprocess

s3 = boto3.client('s3')


def lambda_handler(event, context):

    ep1PNG = s3.get_object(Bucket='my-buc',Key='ep1.PNG')
    ep1MP3 = s3.get_object(Bucket='my-buc',Key='ep1.mp3')

    p = subprocess.call(
    '/opt/ffmpeg/ffmpeg -r 1 -loop 1 -i ep1PNG -i ep1MP3 -acodec copy -r 1 -shortest -vf scale=1280:720 /tmp/ep1.flv', shell=True)


    # TODO implement
    return {
        'statusCode': 200,

    }

问题

这些在subprocess.call()内部正确吗?

/opt/ffmpeg/ffmpeg  #<-----Is this correct ?
ep1PNG           #<-----Is this correct ?
ep1MP3          #<-----Is this correct ?
/tmp/ep1.flv   #<----- Not Sending Output to S3 Bucket 

如果我朝着正确的方向前进,已经尝试了大约一周,请发表评论

ffmpeg作为图层上传

1 个答案:

答案 0 :(得分:-1)

可以在此处找到运行ffmpeg的nodejs lambda解决方案

https://github.com/binoculars/aws-lambda-ffmpeg

这可能是为您准备的解决方案,或者提供了一些有关如何解决任务的见识。