python - 如何获取 MongoDB 存储的视频文件的剪辑?
问题描述
我已经使用gridfs在数据库中存储了一些视频文件,因为存储的视频伴随着一些信息(例如,这个人在这个视频中所做的动作,从几秒钟到几秒钟),而GridFs的特点是块存储,而且数据显示存储的文件可以部分读取,无需下载整个文件,这个视频应该如何读取?对不起,我的英语不是很好。
我的代码是这样的:
from pymongo import MongoClient
from gridfs import GridFS
client = MongoClient()
db = client.gridfs
fs = GridFS(db)
grid_out = fs.find({"filename": "--1DO2V4K74"})
data = grid_out[0].read()
out = open('test.mp4', 'wb')
out.write(data)
out.close()
我可以通过这个得到一个完整的视频。我想得到视频的一部分。
解决方案
实际上,您不应该将媒体(图像或视频)保存在数据库中,而是将其存储在一些存储驱动器(本地或云)中,例如 s3 存储桶,然后将其位置 url 存储在您的数据库中。这段代码可能会有所帮助。
或者
您可以使用强大的。因为它支持多部分数据(高效)。对于检索视频,您可以使用 fs(文件系统)
推荐阅读
- maven - mvn clean install,无法执行目标 org.apache.maven.plugins:maven-compiler-plugin:3.1:compile
- python - 使用databricks-connect连接到python中的databricks时出错
- python - 即使我启动服务器应用程序,COM 对象也会不断返回存根
- oauth-2.0 - 存储命令的访问和刷新令牌
- excel - 更改作为表副本的表的名称
- c# - HttpClient 在重定向时传递 Location 等于 null(而相应的浏览器调用包含 URL)
- airflow - 气流调度程序不尊重 EndTime 与 datetime.now()+timedelta()
- spring-boot - Spring Data JPA 可以通过@JoinColumn 强制执行多对一关系吗
- css - 如何在自动完成字段中换行 - Primefaces 6.2.8
- xml - 如何使用 ejabberd(使用他们的 API 和/或使用 XML)获取私人房间列表?