Video Intelligence API 可偵測、追蹤及辨識影片內容中超過 100,000 個品牌和標誌。
本頁說明如何使用 Video Intelligence API 辨識影片中的標誌。
為 Cloud Storage 中的影片加上註解
下列程式碼範例示範如何偵測 Cloud Storage 影片中的標誌。
REST
傳送處理要求
如要對本機影片檔案執行註解,請對影片檔案的內容執行 base64 編碼。在要求的 inputContent 欄位中加入 Base64 編碼內容。如要瞭解如何使用 base64 編碼影片檔案內容,請參閱「Base64 編碼」。
以下說明如何將 POST 要求傳送至 videos:annotate 方法。範例中使用的存取憑證,屬於使用 Google Cloud CLI 建立的專案服務帳戶。如需安裝 Google Cloud CLI、使用服務帳戶建立專案,以及取得存取權杖的操作說明,請參閱「Video Intelligence 快速入門導覽課程」。
使用任何要求資料之前,請先替換以下項目:
- INPUT_URI:包含要註解檔案的 Cloud Storage bucket,包括檔案名稱。開頭必須為
gs://。
例如:
"inputUri": "gs://cloud-videointelligence-demo/assistant.mp4", - PROJECT_NUMBER: Google Cloud 專案的數字 ID
HTTP 方法和網址:
POST https://videointelligence.googleapis.com/v1/videos:annotate
JSON 要求主體:
{
"inputUri":"INPUT_URI",
"features": ["LOGO_RECOGNITION"]
}
請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID"
}
如果回應成功,Video Intelligence API 會傳回作業的 name。上文顯示這類回應的範例,其中:project-number 是專案編號,operation-id 是為要求建立的長時間執行作業 ID。
- PROJECT_NUMBER:專案編號
- LOCATION_ID:應進行註解的 Cloud 區域。支援的雲端區域包括:
us-east1、us-west1、europe-west1、asia-east1。如果沒有指定任何地區,則會依據影片檔案位置來決定地區。 - OPERATION_ID:為要求建立的長時間作業 ID,並在您開始作業時於回應中提供,例如
12345...
取得結果
如要取得要求結果,請使用從 videos:annotate 呼叫傳回的作業名稱,傳送 GET 要求,如下列範例所示。
使用任何要求資料之前,請先替換以下項目:
- OPERATION_NAME:Video Intelligence API 傳回的作業名稱。作業名稱的格式為
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID - PROJECT_NUMBER: Google Cloud 專案的數字 ID
HTTP 方法和網址:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回覆:
下載註解結果
將註解從來源複製到目標值區:(請參閱「複製檔案和物件」)
gcloud storage cp gcs_uri gs://my-bucket
注意:如果輸出 GCS URI 是由使用者提供,註解就會儲存在該 GCS URI 中。
Go
如要向 Video Intelligence 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要向 Video Intelligence 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要向 Video Intelligence 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要向 Video Intelligence 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
其他語言
C#:請按照用戶端程式庫頁面上的 C# 設定操作說明完成相關步驟,然後參閱「.NET 適用的 Video Intelligence 參考文件」。
PHP:請按照用戶端程式庫頁面上的 PHP 設定操作說明完成相關步驟,然後參閱「PHP 適用的 Video Intelligence 參考文件」。
Ruby:請按照用戶端程式庫頁面上的 Ruby 設定操作說明完成相關步驟,然後參閱「Ruby 適用的 Video Intelligence 參考文件」。
為本機影片加上註解
下列程式碼範例示範如何偵測本機影片檔中的標誌。
REST
傳送影片註解要求
如要對本機影片檔案執行註解,請務必對影片檔案的內容執行 base64 編碼。
在要求的 inputContent 欄位中加入 Base64 編碼的內容。
如要瞭解如何對影片檔案內容進行 base64 編碼,請參閱「Base64 編碼」。
以下說明如何將 POST 要求傳送至 videos:annotate 方法。其中使用的存取權杖,屬於透過 Google Cloud CLI 建立的專案服務帳戶。如需安裝 Google Cloud CLI、使用服務帳戶建立專案,以及取得存取權杖的操作說明,請參閱 Video Intelligence API 快速入門導覽課程。
使用任何要求資料之前,請先替換以下項目:
- 「inputContent」:BASE64_ENCODED_CONTENT
例如:
"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
- LANGUAGE_CODE:[選用] 查看支援的語言
- PROJECT_NUMBER: Google Cloud 專案的數字 ID
HTTP 方法和網址:
POST https://videointelligence.googleapis.com/v1/videos:annotate
JSON 要求主體:
{
"inputContent": "BASE64_ENCODED_CONTENT",
"features": ["LOGO_RECOGNITION"],
"videoContext": {
}
}
請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回覆:
{
"name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID"
}
如果回應成功,Video Intelligence API 會傳回作業的 name。上文顯示這類回應的範例,其中 project-number 是專案名稱,而 operation-id 是為要求建立的長時間執行作業 ID。
- OPERATION_ID:啟動作業時在回應中提供,例如
12345...
取得註解結果
如要擷取作業結果,請使用對 videos:annotate 的呼叫傳回的作業名稱,發出 GET 要求,如下列範例所示。
使用任何要求資料之前,請先替換以下項目:
- PROJECT_NUMBER: Google Cloud 專案的數字 ID
HTTP 方法和網址:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
請展開以下其中一個選項,以傳送要求:
您應該會收到如下的 JSON 回覆:
文字偵測註解會以 textAnnotations 清單傳回。
注意:只有在 done 欄位的值為 True 時,系統才會傳回這個欄位。
如果作業未完成,則回應不會含有這個欄位。
Go
如要向 Video Intelligence 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Java
如要向 Video Intelligence 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Node.js
如要向 Video Intelligence 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
Python
如要向 Video Intelligence 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
其他語言
C#:請按照用戶端程式庫頁面上的 C# 設定操作說明完成相關步驟,然後參閱「.NET 適用的 Video Intelligence 參考文件」。
PHP:請按照用戶端程式庫頁面上的 PHP 設定操作說明完成相關步驟,然後參閱「PHP 適用的 Video Intelligence 參考文件」。
Ruby:請按照用戶端程式庫頁面上的 Ruby 設定操作說明完成相關步驟,然後參閱「Ruby 適用的 Video Intelligence 參考文件」。