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:專案的數值 ID Google Cloud
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:應進行註解的雲端地區。支援的雲端區域包括:
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:專案的數值 ID Google Cloud
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 編碼」一文。
以下說明如何對 videos:annotate
方法傳送 POST 要求。範例中使用的存取憑證,屬於使用 Google Cloud CLI 建立的專案服務帳戶。如需安裝 Google Cloud CLI、使用服務帳戶建立專案,以及取得存取憑證的操作說明,請參閱 Video Intelligence API 快速入門導覽課程。
使用任何要求資料之前,請先替換以下項目:
- 「inputContent」:BASE64_ENCODED_CONTENT
例如:
"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
- LANGUAGE_CODE:[選用] 查看支援的語言
- PROJECT_NUMBER:專案的數值 ID Google Cloud
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:啟動作業時,回應中提供的 ID,例如
12345...
取得註解結果
如要擷取作業結果,請使用對 videos:annotate 的呼叫傳回的作業名稱,發出 GET 要求,如下列範例所示。
使用任何要求資料之前,請先替換以下項目:
- PROJECT_NUMBER:專案的數值 ID Google Cloud
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 參考說明文件。