gpt4 book ai didi

python - 如何从 S3 存储桶 SRC 文件

转载 作者:行者123 更新时间:2023-12-04 23:13:55 32 4
gpt4 key购买 nike

此代码在我的本地机器上完美运行,但我想将其移至 AWS Lambda

我已经将 ffmpeg 作为二进制依赖上传到函数层

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)

问题是如何更换
"./ep1.png" 


"./ep1.mp3" 

作为 ffmpeg 命令的可理解路径

这是我从 boto3 找到的文档,但我不确定如何实现它
 s3 = boto3.client('s3')
s3.download_file('BUCKET_NAME', 'OBJECT_NAME', 'FILE_NAME')

让我知道我是否朝着正确的方向前进,在这一步之后,我将使用 boto3 将 ep1.flv 上传到输出 S3 存储桶

最佳答案

AWS Lambda 函数可以将数据存储在 /tmp/目录。

所以,你可以使用:

 s3.download_file('my-bucket', 'ep1.mp3', '/tmp/ep1.mp3')
s3.download_file('my-bucket', 'ep1.png', '/tmp/ep1.png')

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

另外,请确保删除 /tmp/ 中的文件。在你的函数退出之前,因为容器可能被重用并且只提供了 500MB 的存储空间。

关于python - 如何从 S3 存储桶 SRC 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56051150/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com