בדוגמת הקוד הבאה אפשר לראות איך לזהות אנשים בקובץ וידאו באמצעות Video Intelligence API.
הכלי Video Intelligence יכול לזהות את נוכחותם של בני אדם בקובץ וידאו ולעקוב אחרי אנשים בסרטון או בקטע וידאו.
זיהוי בני אדם מקובץ ב-Cloud Storage
בדוגמה הבאה מוצג איך לשלוח בקשת אנוטציה ל-Video Intelligence באמצעות התכונה לזיהוי בני אדם.
REST
שליחת בקשה להוספת הערה לסרטון
בדוגמה הבאה אפשר לראות איך שולחים בקשת POST לשיטה videos:annotate. בדוגמה נעשה שימוש ב-Google Cloud CLI כדי ליצור אסימון גישה. הוראות להתקנת ה-CLI של gcloud מופיעות במאמר מדריך למתחילים בנושא Video Intelligence API.
מידע נוסף מופיע במאמר PersonDetectionConfig.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- INPUT_URI: קטגוריה של Cloud Storage שמכילה את הקובץ שרוצים להוסיף לו הערות, כולל שם הקובץ. חייב להתחיל ב-
gs://.
לדוגמה:
"inputUri": "gs://cloud-samples-data/video/googlework_short.mp4" - PROJECT_NUMBER: המזהה המספרי של Google Cloud הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
תוכן בקשת JSON:
{
"inputUri": "INPUT_URI",
"features": ["PERSON_DETECTION"],
"videoContext": {
"personDetectionConfig": {
"includeBoundingBoxes": true,
"includePoseLandmarks": true,
"includeAttributes": true
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
אם התגובה מצליחה, Video Intelligence API מחזיר את name עבור הפעולה שלכם. בדוגמה שלמעלה אפשר לראות תגובה כזו, שבה:
- PROJECT_NUMBER: מספר הפרויקט
- LOCATION_ID: האזור ב-Cloud שבו צריך להוסיף את ההערה. האזורים הנתמכים בענן הם:
us-east1, us-west1,europe-west1, asia-east1. אם לא מציינים אזור, המערכת תקבע אזור על סמך המיקום של קובץ הסרטון. - OPERATION_ID: המזהה של הפעולה הממושכת שנוצרה עבור הבקשה ומופיע בתגובה כשמתחילים את הפעולה, לדוגמה
12345...
קבלת תוצאות של אנוטציות
כדי לאחזר את תוצאת הפעולה, שולחים בקשת GET באמצעות שם הפעולה שמוחזר מהקריאה אל videos:annotate, כמו בדוגמה הבאה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- OPERATION_NAME: השם של הפעולה כפי שמוחזר על ידי Video Intelligence API. שם הפעולה הוא בפורמט
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID - PROJECT_NUMBER: המזהה המספרי של Google Cloud הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
הערות לגבי זיהוי צילומים מוחזרות כרשימהshotAnnotations.
הערה: השדה done מוחזר רק כשהערך שלו הוא True.
הוא לא נכלל בתשובות שהפעולה שלהן לא הושלמה.
הורדת תוצאות ההערות
מעתיקים את ההערה מהמקור לדלי היעד: (ראו העתקת קבצים ואובייקטים)
gcloud storage cp gcs_uri gs://my-bucket
הערה: אם המשתמש מספק את ה-URI של GCS בפלט, ההערה מאוחסנת ב-URI הזה.
Java
כדי לבצע אימות ב-Video Intelligence, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי לבצע אימות ב-Video Intelligence, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי לבצע אימות ב-Video Intelligence, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: צריך לפעול לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז לעבור אל מאמרי העזרה של Video Intelligence בנושא .NET.
PHP: Please follow the PHP setup instructions on the client libraries page and then visit the Video Intelligence מאמרי עזרה for PHP.
Ruby: צריך לפעול לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח ואז לעבור אל מסמך העזר של Video Intelligence ל-Ruby.
זיהוי בני אדם מקובץ מקומי
בדוגמה הבאה נעשה שימוש בזיהוי אנשים כדי למצוא ישויות בסרטון מקובץ סרטון שהועלה מהמחשב המקומי.
REST
שליחת בקשת העיבוד
כדי לבצע זיהוי בני אדם בקובץ וידאו מקומי, צריך לקודד ב-Base64 את התוכן של קובץ הווידאו. מידע על קידוד Base64 של תוכן קובץ וידאו זמין במאמר בנושא קידוד Base64. לאחר מכן, שולחים בקשת POST ל-method videos:annotate. כוללים את התוכן בקידוד base64 בשדה inputContent
של הבקשה ומציינים את התכונה PERSON_DETECTION.
בדוגמה הבאה מוצגת בקשת POST באמצעות curl. בדוגמה נעשה שימוש ב-Google Cloud CLI כדי ליצור אסימון גישה. הוראות להתקנת ה-CLI של gcloud מופיעות במאמר מדריך למתחילים בנושא Video Intelligence API.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- inputContent: קובץ סרטון מקומי בפורמט בינארי
לדוגמה: 'AAAAGGZ0eXBtcDQyAAAAAGlzb21tcDQyAAGVYW1vb3YAAABsbXZoZAAAAADWvhlR1r4ZUQABX5ABCOxo AAEAAAEAAAAAAA4...' - PROJECT_NUMBER: המזהה המספרי של Google Cloud הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
תוכן בקשת JSON:
{
"inputUri": "Local video file in binary format",
"features": ["PERSON_DETECTION"],
"videoContext": {
"personDetectionConfig": {
"includeBoundingBoxes": true,
"includePoseLandmarks": true,
"includeAttributes": true
}
}
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
אם הבקשה תצליח, Video Intelligence יחזיר את name עבור הפעולה. בדוגמה שלמעלה מוצגת תגובה כזו, כאשר project-number הוא מספר הפרויקט ו-operation-id הוא המזהה של הפעולה הממושכת שנוצרה עבור הבקשה.
{
"name": "us-west1.17122464255125931980"
}
קבלת התוצאות
כדי לאחזר את תוצאת הפעולה, שולחים בקשת GET לנקודת הקצה operations ומציינים את שם הפעולה.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- OPERATION_NAME: השם של הפעולה כפי שמוחזר על ידי Video Intelligence API. שם הפעולה הוא בפורמט
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID - PROJECT_NUMBER: המזהה המספרי של Google Cloud הפרויקט
ה-method של ה-HTTP וכתובת ה-URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
Java
כדי לבצע אימות ב-Video Intelligence, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
כדי לבצע אימות ב-Video Intelligence, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
כדי לבצע אימות ב-Video Intelligence, צריך להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
שפות נוספות
C#: צריך לפעול לפי הוראות ההגדרה של C# בדף של ספריות הלקוח ואז לעבור אל מאמרי העזרה של Video Intelligence בנושא .NET.
PHP: Please follow the PHP setup instructions on the client libraries page and then visit the Video Intelligence מאמרי עזרה for PHP.
Ruby: צריך לפעול לפי הוראות ההגדרה של Ruby בדף של ספריות הלקוח ואז לעבור אל מסמך העזר של Video Intelligence ל-Ruby.