适用于您的 AI 应用程序的视频数据库
探索文档 »
查看演示·报告错误·请求功能
VideoDB Python SDK 允许您与 VideoDB 无服务器数据库交互。将视频作为智能数据而不是文件进行管理。它具有可扩展性、经济高效且针对人工智能应用程序和法学硕士集成进行了优化。
要安装该软件包,请在终端中运行以下命令:
pip install videodb
从 VideoDB 控制台获取 API 密钥。前 50 次上传免费(无需信用卡) 。
import videodb
conn = videodb . connect ( api_key = "YOUR_API_KEY" )
现在您已经建立了与 VideoDB 的连接,您可以使用conn.upload()
上传视频。您可以直接从youtube
、 any public url
、 S3 bucket
或local file path
上传。当您创建第一个连接时,将创建默认集合。
upload
方法返回一个Video
对象。
# Upload a video by url
video = conn . upload ( url = "https://www.youtube.com/watch?v=WDv4AWk0J3U" )
# Upload a video from file system
video_f = conn . upload ( file_path = "./my_video.mp4" )
上传后,您的视频可以立即以 720p 分辨率观看。 ⚡️
video . generate_stream ()
video . play ()
您可以通过传递开始和结束时间戳(以秒为单位)的时间线作为参数来轻松剪辑视频的特定部分。例如,这将生成并播放前10 seconds
以及120th
和140th
秒之间的剪辑的剪辑。
stream_link = video . generate_stream ( timeline = [[ 0 , 10 ], [ 120 , 140 ]])
play_stream ( stream_link )
要搜索视频中的位,您必须首先为视频index
。这可以通过一个简单的命令来完成。对于较长的视频,PS 索引可能需要一些时间。
video . index_spoken_words ()
result = video . search ( "Morning Sunlight" )
result . play ()
video . get_transcript ()
Videodb
将在即将推出的版本中推出更多索引选项。现在您可以尝试semantic
索引 - 按口语单词索引。
将来您将能够使用以下方式索引视频:
video.search()
返回一个SearchResults
对象,其中包含与您的搜索查询语义匹配的视频片段或我们所说的视频shots
。
result.get_shots()
返回与搜索查询匹配的镜头列表。result.play()
返回视频的可播放网址(类似于 video.play();您可以在浏览器中打开此链接,或使用 iframe 将其嵌入到您的网站中)。 VideoDB
可以轻松地在多个视频中存储和搜索。默认情况下,视频会上传到您的默认收藏夹。
# Get the default collection
coll = conn . get_collection ()
# Upload Videos to a collection
coll . upload ( url = "https://www.youtube.com/watch?v=lsODSDmY4CY" )
coll . upload ( url = "https://www.youtube.com/watch?v=vZ4kOr38JhY" )
coll . upload ( url = "https://www.youtube.com/watch?v=uak_dXHh6s4" )
conn.get_collection()
:返回一个 Collection 对象;默认集合。coll.get_videos()
:返回 Video 对象列表;集合中的所有视频。coll.get_video(video_id)
:返回一个 Video 对象,即提供的video_id
中对应的视频。coll.delete_video(video_id)
:从集合中删除视频。您可以简单地对集合中的所有视频进行索引,并使用搜索方法来查找相关结果。在这里,我们对集合的口头内容进行索引并执行语义搜索。
# Index all videos in collection
for video in coll . get_videos ():
video . index_spoken_words ()
# search in the collection of videos
results = coll . search ( query = "What is Dopamine?" )
results . play ()
这里的结果包含来自您集合的单个流中的所有匹配位。您可以立即在您的应用程序中使用这些结果。
视频对象有多种可用方法,对您的用例很有帮助。
获取成绩单
# words with timestamps
text_json = video . get_transcript ()
text = video . get_transcript_text ()
print ( text )
为视频添加字幕
它会立即返回一个新流,并将字幕添加到视频中。
new_stream = video . add_subtitle ()
play_stream ( new_stream )
获取视频的缩略图:
video.generate_thumbnail()
:返回视频的缩略图。
删除视频:
video.delete()
:删除视频。
查看更多示例和教程使用 VideoDB 构建,探索可以使用VideoDB
构建什么。
Face
、 Scene
、 Security
、 Events
和Sports
贡献使开源社区成为一个学习、启发和创造的绝佳场所。我们非常感谢您所做的任何贡献。
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)