Banco de dados de vídeo para suas aplicações de IA
Explore os documentos »
Ver demonstração · Reportar bug · Solicitar recurso
VideoDB Python SDK permite que você interaja com o banco de dados sem servidor VideoDB. Gerencie vídeos como dados inteligentes, não como arquivos. É escalonável, econômico e otimizado para aplicativos de IA e integração LLM.
Para instalar o pacote, execute o seguinte comando em seu terminal:
pip install videodb
Obtenha uma chave de API no console VideoDB. Gratuito para os primeiros 50 uploads (não é necessário cartão de crédito) .
import videodb
conn = videodb . connect ( api_key = "YOUR_API_KEY" )
Agora que você estabeleceu uma conexão com o VideoDB, pode enviar seus vídeos usando conn.upload()
. Você pode fazer upload diretamente do youtube
, any public url
, S3 bucket
ou local file path
. Uma coleção padrão é criada quando você cria sua primeira conexão.
O método upload
retorna um objeto 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" )
Depois de carregado, seu vídeo estará imediatamente disponível para visualização em resolução 720p. ⚡️
video . generate_stream ()
video . play ()
Você pode facilmente recortar seções específicas de um vídeo passando uma linha do tempo dos carimbos de data e hora de início e término (em segundos) como parâmetro. Por exemplo, isso irá gerar e reproduzir uma compilação dos primeiros 10 seconds
e o clipe entre o 120th
e o 140th
segundo.
stream_link = video . generate_stream ( timeline = [[ 0 , 10 ], [ 120 , 140 ]])
play_stream ( stream_link )
Para pesquisar bits dentro de um vídeo, você deve primeiro index
o vídeo. Isso pode ser feito por um comando simples. A indexação PS pode levar algum tempo para vídeos mais longos.
video . index_spoken_words ()
result = video . search ( "Morning Sunlight" )
result . play ()
video . get_transcript ()
Videodb
está lançando mais opções de indexação nas próximas versões. A partir de agora você pode experimentar o índice semantic
- Índice por palavras faladas.
No futuro, você poderá indexar vídeos usando:
video.search()
retorna um objeto SearchResults
, que contém as seções ou, como as chamamos, shots
de vídeos que correspondem semanticamente à sua consulta de pesquisa.
result.get_shots()
Retorna uma lista de fotos que correspondem à consulta de pesquisa.result.play()
Retorna um URL reproduzível para o vídeo (semelhante a video.play(); você pode abrir este link no navegador ou incorporá-lo em seu site usando um iframe). VideoDB
pode armazenar e pesquisar vários vídeos com facilidade. Por padrão, os vídeos são enviados para sua coleção padrão.
# 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()
: Retorna um objeto Collection; a coleção padrão.coll.get_videos()
: Retorna uma lista de objetos Video; todos os vídeos das coleções.coll.get_video(video_id)
: Retorna um objeto Video, vídeo correspondente do video_id
fornecido.coll.delete_video(video_id)
: Exclui o vídeo da coleção.Você pode simplesmente indexar todos os vídeos de uma coleção e usar o método de pesquisa para encontrar resultados relevantes. Aqui estamos indexando o conteúdo falado de uma coleção e realizando uma pesquisa semântica.
# 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 ()
O resultado aqui tem todos os bits correspondentes em um único fluxo da sua coleção. Você pode usar esses resultados em seu aplicativo imediatamente.
Existem vários métodos disponíveis em um objeto de vídeo que podem ser úteis para seu caso de uso.
Obtenha a transcrição
# words with timestamps
text_json = video . get_transcript ()
text = video . get_transcript_text ()
print ( text )
Adicionar legendas a um vídeo
Ele retorna um novo stream instantaneamente com legendas adicionadas ao vídeo.
new_stream = video . add_subtitle ()
play_stream ( new_stream )
Obtenha a miniatura de um vídeo:
video.generate_thumbnail()
: Retorna uma imagem em miniatura do vídeo.
Excluir um vídeo:
video.delete()
: Exclui o vídeo.
Confira mais exemplos e tutoriais Construir com VideoDB para explorar o que você pode construir com VideoDB
.
Face
, Scene
, Security
, Events
e Sports
As contribuições são o que tornam a comunidade de código aberto um lugar incrível para aprender, inspirar e criar. Qualquer contribuição que você fizer será muito apreciada .
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)