gpt4 book ai didi

python-3.x - 如何使用 python 将 ffmpeg 输出直接存储到 s3 存储桶?

转载 作者:行者123 更新时间:2023-12-04 23:10:41 24 4
gpt4 key购买 nike

我已经实现了 FFmpeg 函数以使用 python 转换视频格式,但我需要将其输出直接保存到 s3 存储桶中,从那里作为输入,但我对此一无所知。下面是我转换视频格式的代码

s3 = boto3.client('s3',
region_name = S3_REGION,
aws_access_key_id = S3_ACCESS_KEY_ID,
aws_secret_access_key = S3_ACCESS_SECRET_KEY)
os.popen("ffmpeg -i '{input}' -ac 2 -b:v 2000k -c:a aac -c:v libx264 -b:a 160k -vprofile high -bf 0 -strict experimental -f mp4 '{output}.mp4'".format(input = avi_file_path, output = output_name))
谁能建议我如何解决这个问题?

最佳答案

您可以将 ffmpeg 的输出通过管道传输到 AWS Cli 复制命令。像这样的东西(未经测试):

ffmpeg -i '{input}' -ac 2 -b:v 2000k -c:a aac -c:v libx264 -b:a 160k -vprofile high -bf 0 -strict experimental -f mp4 pipe:1 | aws s3 cp - s3://test-bucket/youroutput.mp4
编辑
由于 mp4 的性质,这不起作用,mp4 需要是可搜索的,并且流是不可搜索的。一种方法是添加 -movflags frag_keyframe+empty_moov对于该命令,这将创建一个分段的 mp4,这是一种具有有限(相对于普通 mp4)播放能力的不同格式。
或者,我建议您是否可以在本地创建文件,然后再上传到 S3。

关于python-3.x - 如何使用 python 将 ffmpeg 输出直接存储到 s3 存储桶?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69284880/

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