django - Elastic Beanstalk 上的 Django,如何将已编辑视频的输出文件保存到 S3 存储桶中
问题描述
对于初学者,我在 AWS Elastic Beanstalk 上运行 Django 服务,并尝试使用 moviepy 的ffmpeg_extract_subclip
方法修剪视频的长度,然后将其保存到链接的 S3 存储桶中。
media_storage = S3Boto3Storage()
#used for targetname
subclip_url = "temp/" + str(asset.id) + "-" + str(i) + ".mp4"
#get url of file
asset_url = media_storage.url(str(asset.asset_url))
self.create_clip(asset_url, subclip_url)
if not media_storage.exists(subclip_url):
curr_clip = open(settings.MEDIA_ROOT + "/" + subclip_url)
object_file = files.File(curr_clip)
media_storage.save(subclip_url,object_file)
我将其拆分ffmpeg_extract_subclip
为下面的另一种方法
def create_clip(self, asset_url, subclip_url):
url = settings.MEDIA_ROOT + "/" + subclip_url
ffmpeg_extract_subclip(asset_url, 0, 5, targetname=url)
我的想法是将编辑后的剪辑保存到本地目录,然后打开它,然后将其发送到 S3 存储桶。但是,在这种情况下,我permission denied
在 EB 中ffmpeg_extract_subclip
尝试将文件保存在 EB 系统中时(这是有道理的)。我是否应该尝试找到一种解决方案来覆盖这些权限,或者是否有更好的方法来编辑剪辑并通过 EB 将其发送到 S3?我在网上找到的大多数方法都需要 Python 将编辑后的文件保存到输出文件中。
PS对不起,如果我的问题不够清楚,我在这些板上发帖还是新手
解决方案
推荐阅读
- c# - API 不起作用,使用 Docker 和 ASP.NET CORE
- python - 在 django send_mass_mail 发送的邮件中创建粗体文本
- python - discord.py:如何在一定数量的数字后设置逗号?
- node.js - GitLabCI 部署 expressjs 应用程序未完成部署阶段
- c# - 可为空的引用类型:“Try”方法模式,返回 false 时收到 null 警告
- mongodb - MongoDB在管道中匹配多个条件
- r - 如何将 x 轴调整为从 2000 年开始并在 R 中每年计数 1?
- matplotlib - 通过以正确格式获取 Google Vision API 数据,使用 matplotlib 一次显示多个多边形
- next.js - Next.js 缓存对 `getStaticPaths` 和 `getStaticProps` 中使用的数据库的请求以缩短构建时间
- git - 如何在给定 git 中的旧路径的情况下找到文件的当前位置