AI 애플리케이션을 위한 비디오 데이터베이스
문서 살펴보기 »
데모 보기 · 버그 신고 · 기능 요청
VideoDB Python SDK를 사용하면 VideoDB 서버리스 데이터베이스와 상호 작용할 수 있습니다. 파일이 아닌 지능형 데이터로 비디오를 관리하세요. 확장 가능하고 비용 효율적이며 AI 애플리케이션 및 LLM 통합에 최적화되어 있습니다.
패키지를 설치하려면 터미널에서 다음 명령을 실행하세요.
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()
검색어와 의미상 일치하는 비디오 shots
섹션을 포함하는 SearchResults
객체를 반환합니다.
result.get_shots()
검색 쿼리와 일치하는 샷 목록을 반환합니다.result.play()
비디오의 재생 가능한 URL을 반환합니다(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()
: 비디오 객체 목록을 반환합니다. 컬렉션의 모든 비디오.coll.get_video(video_id)
: 제공된 video_id
에서 해당 비디오인 Video 객체를 반환합니다.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
)