gpt4 book ai didi

amazon-web-services - 将输出文件保存到 AWS S3 存储桶中

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

使用 FFmpeg 我正在尝试将文件输出到 s3 存储桶。

ffmpeg -i myfile.mp4 -an -crf 20 -vf crop=200:200 -s 800x600 -f mp4 pipe:1 | aws s3 cp - s3://my.test.bucket
正如我已经被告知的那样,这是无法做到的,因为创建 mp4 文件需要查找,而管道不允许查找。如果我更改此命令以将文件存储在本地磁盘上
ffmpeg -i myfile.mp4 -an -crf 20 -vf crop=200:200 -s 800x600 myfile.mp4
它将存储在本地项目根文件夹下,这很好。
但是由于我从容器运行我的应用程序并且 ffmpeg 本身安装在 Dockerfile 中,所以我试图弄清楚这里有哪些可能的选项? (如果 ffmpeg 命令无法将 mp4 存储在 S3 上)。
如果我使用 IWebHostEnvironment,我需要将输出文件 myfile.mp4 下载到服务器路径中它实际上会保存在哪里?它在容器内吗?我可以将一些 s3 存储桶文件夹挂载到 docker 文件中并再次从实际的 ffmpeg 命令中使用它吗?
由于我的输入文件在 s3 存储桶上,并且我希望我的输出文件在同一个 s3 存储桶上,是否有任何解决方案不需要从 ffmpeg 下载输出文件并再次上传?
我想这是很多问题,但我觉得我在这里遇到了一个兔子洞。

最佳答案

真的有很多问题。 :D
为了公平起见,我问了几个问题,看看我是否理解一切。
你的 docker 容器在哪里运行? Lambda、ec2 机器、kubernetes 集群?
如果是在ec2上,可以使用https://aws.amazon.com/efs/但....
您可以简单地将文件保存在/tmp 中吗?然后从 tmp folde 创建一个 aws s3 cp 命令?
在某些环境中(例如 lambda),/tmp 是我以编程方式访问文件系统的唯一位置。
虽然如果我理解正确,您在您的环境中拥有写入权限?因为您从 s3 存储桶下载原始图像。那么你能做这样的事情吗?

  • 从 s3
  • 下载源文件
  • 使用 ffmpeg
  • 创建新文件
  • 将文件上传到 s3
  • 关于amazon-web-services - 将输出文件保存到 AWS S3 存储桶中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71208291/

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