قاعدة بيانات الفيديو لتطبيقات الذكاء الاصطناعي الخاصة بك
استكشاف المستندات »
عرض العرض التوضيحي · الإبلاغ عن الأخطاء · طلب الميزة
يتيح لك VideoDB Python SDK التفاعل مع قاعدة بيانات VideoDB بدون خادم. إدارة مقاطع الفيديو كبيانات ذكية، وليس ملفات. إنها قابلة للتطوير وفعالة من حيث التكلفة ومُحسّنة لتطبيقات الذكاء الاصطناعي وتكامل LLM.
لتثبيت الحزمة، قم بتشغيل الأمر التالي في جهازك الطرفي:
pip install videodb
احصل على مفتاح API من وحدة تحكم VideoDB. مجانًا لأول 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" )
بمجرد تحميل الفيديو، يصبح متاحًا على الفور للعرض بدقة 720 بكسل. ⚡️
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()
إرجاع عنوان 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()
: إرجاع كائن مجموعة؛ المجموعة الافتراضية.coll.get_videos()
: إرجاع قائمة بكائنات الفيديو؛ جميع مقاطع الفيديو في المجموعات.coll.get_video(video_id)
: إرجاع كائن فيديو، الفيديو المطابق من 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
)