我在Python3.x中编写了一个lambda函数,用于压缩上传到S3存储桶的视频,然后将其转换为不同的质量。
但是,当我测试lambda函数时,我注意到我可以设置的最大超时时间是15分钟。而压缩我上传到AWS S3的测试视频需要6分钟,而又花了9分钟才将视频转换为较低质量(而且由于时间有限,第一次转换没有完成)。
我搜索并阅读了一些文章。一些建议使用AWS EC2,一些建议使用AWS SQS等。但是我并没有真正找到解决问题的方法。
您能否告诉我,还有其他方法可以代替现有的lambda函数或与之协同工作以实现相同的目的吗?或者,如果您有关于处理大型文件的AWS EC2的任何良好资源,您可以共享这些文件吗?
如果您可以编写一些视频压缩示例,那就太受欢迎了。
谢谢!
答案 0 :(得分:0)
AWS Batch是您的用例的理想选择。它可以使您的作业排队,并在可用的计算资源(EC2)上运行它们。您还可以将EC2竞价型实例指定为您的计算资源,以节省成本。您的Lambda函数将必须转换为Docker映像,因为AWS Batch仅接受Docker映像。
您可以参考此link以获得更多详细信息。
答案 1 :(得分:0)
首先,您应该考虑使用Elastic Transcoder或AWS Elemental MediaConvert。
作为对问题的答案,总是最好创建较小的Lambda函数,并使用AWS Step Functions对其进行协调以创建工作流程。