Base de datos de vídeo para sus aplicaciones de IA
Explora los documentos »
Ver demostración · Informar error · Solicitar función
VideoDB Python SDK le permite interactuar con la base de datos sin servidor VideoDB. Administre videos como datos inteligentes, no como archivos. Es escalable, rentable y optimizado para aplicaciones de IA e integración de LLM.
Para instalar el paquete, ejecute el siguiente comando en su terminal:
pip install videodb
Obtenga una clave API de la consola VideoDB. Gratis para las primeras 50 cargas (no se requiere tarjeta de crédito) .
import videodb
conn = videodb . connect ( api_key = "YOUR_API_KEY" )
Ahora que ha establecido una conexión con VideoDB, puede cargar sus videos usando conn.upload()
. Puede cargar directamente desde youtube
, any public url
, S3 bucket
o una local file path
. Se crea una colección predeterminada cuando crea su primera conexión.
El método upload
devuelve un 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" )
Una vez cargado, su video estará inmediatamente disponible para verlo en una resolución de 720p. ⚡️
video . generate_stream ()
video . play ()
Puede recortar fácilmente secciones específicas de un vídeo pasando una línea de tiempo de las marcas de tiempo de inicio y finalización (en segundos) como parámetro. Por ejemplo, esto generará y reproducirá una compilación de los primeros 10 seconds
y el clip entre los segundos 120th
y 140th
.
stream_link = video . generate_stream ( timeline = [[ 0 , 10 ], [ 120 , 140 ]])
play_stream ( stream_link )
Para buscar bits dentro de un vídeo, primero debes index
el vídeo. Esto se puede hacer con un simple comando. La indexación de PS puede tardar algún tiempo en el caso de vídeos más largos.
video . index_spoken_words ()
result = video . search ( "Morning Sunlight" )
result . play ()
video . get_transcript ()
Videodb
está lanzando más opciones de indexación en las próximas versiones. A partir de ahora puedes probar el índice semantic
: índice por palabras habladas.
En el futuro podrás indexar vídeos usando:
video.search()
devuelve un objeto SearchResults
, que contiene las secciones o, como las llamamos, shots
de videos que coinciden semánticamente con su consulta de búsqueda.
result.get_shots()
Devuelve una lista de disparos que coincidieron con la consulta de búsqueda.result.play()
Devuelve una URL reproducible para el vídeo (similar a video.play(); puede abrir este enlace en el navegador o incrustarlo en su sitio web mediante un iframe). VideoDB
puede almacenar y buscar dentro de múltiples videos con facilidad. De forma predeterminada, los videos se cargan en su colección predeterminada.
# 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()
: Devuelve un objeto Colección; la colección predeterminada.coll.get_videos()
: Devuelve una lista de objetos de vídeo; Todos los vídeos de las colecciones.coll.get_video(video_id)
: devuelve un objeto Video, el video correspondiente del video_id
proporcionado.coll.delete_video(video_id)
: elimina el vídeo de la colección.Simplemente puede indexar todos los videos de una colección y utilizar el método de búsqueda para encontrar resultados relevantes. Aquí estamos indexando el contenido hablado de una colección y realizando una búsqueda 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 ()
El resultado aquí tiene todos los bits coincidentes en una sola secuencia de su colección. Puede utilizar estos resultados en su aplicación de inmediato.
Hay varios métodos disponibles en un objeto de vídeo que pueden resultar útiles para su caso de uso.
Obtenga la transcripción
# words with timestamps
text_json = video . get_transcript ()
text = video . get_transcript_text ()
print ( text )
Agregar subtítulos a un video
Devuelve una nueva transmisión al instante con subtítulos agregados al video.
new_stream = video . add_subtitle ()
play_stream ( new_stream )
Obtener miniatura de un vídeo:
video.generate_thumbnail()
: Devuelve una imagen en miniatura del vídeo.
Eliminar un vídeo:
video.delete()
: Elimina el vídeo.
Vea más ejemplos y tutoriales Compilación con VideoDB para explorar lo que puede compilar con VideoDB
.
Face
, Scene
, Security
, Events
y Sports
Las contribuciones son las que hacen de la comunidad de código abierto un lugar increíble para aprender, inspirar y crear. Cualquier contribución que hagas será muy apreciada .
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)