「文字偵測」功能會執行光學字元辨識 (OCR),偵測及擷取輸入影片中的文字。
文字偵測功能適用於 Cloud Vision API 支援的所有語言。
要求對 Cloud Storage 中的影片執行文字偵測
下列範例示範如何對位於 Cloud Storage 的檔案執行文字偵測。
REST
傳送影片註解要求
以下說明如何對 videos:annotate
方法傳送 POST 要求。這個範例使用 Google Cloud CLI 建立存取權杖。如需安裝 gcloud CLI 的操作說明,請參閱 Video Intelligence API 快速入門。
使用任何要求資料之前,請先替換以下項目:
- INPUT_URI:包含要註解檔案的 Cloud Storage bucket,包括檔案名稱。開頭必須為
gs://
。
例如:"inputUri": "gs://cloud-videointelligence-demo/assistant.mp4",
- LANGUAGE_CODE:[選用] 例如「en-US」
- PROJECT_NUMBER:專案的數值 ID Google Cloud
HTTP 方法和網址:
POST https://videointelligence.googleapis.com/v1/videos:annotate
JSON 要求主體:
{ "inputUri": "INPUT_URI", "features": ["TEXT_DETECTION"], "videoContext": { "textDetectionConfig": { "languageHints": ["LANGUAGE_CODE"] } } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 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 回應:
文字偵測註解會以textAnnotations
清單傳回。
注意:只有在 done 欄位的值為 True 時,系統才會傳回這個欄位。
如果作業未完成,則回應不會含有這個欄位。
下載註解結果
將註解從來源複製到目標值區:(請參閱「複製檔案和物件」)
gcloud storage cp gcs_uri gs://my-bucket
注意:如果輸出 GCS URI 是由使用者提供,註解就會儲存在該 GCS URI 中。
Go
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:[選用] 例如「en-US」
- PROJECT_NUMBER:專案的數值 ID Google Cloud
HTTP 方法和網址:
POST https://videointelligence.googleapis.com/v1/videos:annotate
JSON 要求主體:
{ "inputContent": "BASE64_ENCODED_CONTENT", "features": ["TEXT_DETECTION"], "videoContext": { "textDetectionConfig": { "languageHints": ["LANGUAGE_CODE"] } } }
如要傳送要求,請展開以下其中一個選項:
您應該會收到如下的 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
Java
Node.js
如要向 Video Intelligence 進行驗證,請設定應用程式預設憑證。 詳情請參閱「為本機開發環境設定驗證」。
Python
其他語言
C#: 請按照用戶端程式庫頁面上的 C# 設定說明操作, 然後參閱 .NET 適用的 Video Intelligence 參考說明文件。
PHP: 請按照用戶端程式庫頁面的 PHP 設定說明 操作,然後前往 PHP 適用的 Video Intelligence 參考文件。
Ruby: 請按照用戶端程式庫頁面的 Ruby 設定說明 操作,然後前往 Ruby 適用的 Video Intelligence 參考說明文件。