Deteksi Teks menjalankan Optical Character Recognition (OCR), yang mendeteksi dan mengekstrak teks dalam video input.
Deteksi teks tersedia untuk semua bahasa yang didukung oleh Cloud Vision API.
Meminta deteksi teks untuk video di Cloud Storage
Contoh berikut menunjukkan deteksi teks pada file yang berada di Cloud Storage.
REST
Mengirim permintaan anotasi video
Berikut cara mengirim permintaan POST ke metode videos:annotate
. Contoh ini menggunakan Google Cloud CLI untuk membuat token akses. Untuk
petunjuk tentang cara menginstal gcloud CLI, lihat
Panduan memulai Video Intelligence API.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- INPUT_URI: bucket Cloud Storage yang berisi
file yang ingin Anda beri anotasi, termasuk nama file. Harus
diawali dengan
gs://
.
Contoh:"inputUri": "gs://cloud-videointelligence-demo/assistant.mp4",
- LANGUAGE_CODE: [Opsional] Misalnya, "en-US"
- PROJECT_NUMBER: ID numerik untuk Google Cloud project
Metode HTTP dan URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Meminta isi JSON:
{ "inputUri": "INPUT_URI", "features": ["TEXT_DETECTION"], "videoContext": { "textDetectionConfig": { "languageHints": ["LANGUAGE_CODE"] } } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
Jika respons berhasil, Video Intelligence API akan menampilkan name
untuk operasi Anda. Di atas menunjukkan contoh respons tersebut, dengan:
project-number
adalah nomor project Anda dan operation-id
adalah ID
operasi yang berjalan lama yang dibuat untuk permintaan tersebut.
- PROJECT_NUMBER: jumlah project Anda
- LOCATION_ID: region Cloud tempat anotasi harus
dilakukan. Wilayah cloud yang didukung adalah:
us-east1
,us-west1
,europe-west1
,asia-east1
. Jika tidak ada region yang ditentukan, region akan ditentukan berdasarkan lokasi file video. - OPERATION_ID: ID operasi yang berjalan lama yang dibuat
untuk permintaan dan diberikan dalam respons saat Anda memulai
operasi, misalnya
12345...
Mendapatkan hasil anotasi
Untuk mengambil hasil operasi, buat permintaan GET, menggunakan nama operasi yang ditampilkan dari panggilan ke videos:annotate, seperti yang ditunjukkan dalam contoh berikut.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- OPERATION_NAME: nama operasi seperti yang ditampilkan oleh Video Intelligence API. Nama operasi memiliki format
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
- PROJECT_NUMBER: ID numerik untuk Google Cloud project
Metode HTTP dan URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
"textAnnotations": [ { "text": "Hair Salon", "segments": [ { "segment": { "startTimeOffset": "0.833333s", "endTimeOffset": "2.291666s" }, "confidence": 0.99438506, "frames": [ { "rotatedBoundingBox": { "vertices": [ { "x": 0.7015625, "y": 0.59583336 }, { "x": 0.7984375, "y": 0.59583336 }, { "x": 0.7984375, "y": 0.64166665 }, { "x": 0.7015625, "y": 0.64166665 } ] }, "timeOffset": "0.833333s" }, { "rotatedBoundingBox": { "vertices": [ { "x": 0.70234376, "y": 0.6 }, { "x": 0.7992188, "y": 0.6 }, { "x": 0.7992188, "y": 0.6333333 }, { "x": 0.70234376, "y": 0.6333333 } ] }, "timeOffset": "1.041666s" }, { "rotatedBoundingBox": { "vertices": [ { "x": 0.70234376, "y": 0.6 }, { "x": 0.7992188, "y": 0.6 }, { "x": 0.7992188, "y": 0.6333333 }, { "x": 0.70234376, "y": 0.6333333 } ] }, "timeOffset": "1.250s" }, { "rotatedBoundingBox": { "vertices": [ { "x": 0.70234376, "y": 0.6 }, { "x": 0.7992188, "y": 0.6 }, { "x": 0.7992188, "y": 0.6319444 }, { "x": 0.70234376, "y": 0.6319444 } ] }, "timeOffset": "1.458333s" }, { "rotatedBoundingBox": { "vertices": [ { "x": 0.70234376, "y": 0.6 }, { "x": 0.7992188, "y": 0.6 }, { "x": 0.7992188, "y": 0.6333333 }, { "x": 0.70234376, "y": 0.6333333 } ] }, "timeOffset": "1.666666s" }, { "rotatedBoundingBox": { "vertices": [ { "x": 0.70234376, "y": 0.6 }, { "x": 0.7992188, "y": 0.6 }, { "x": 0.7992188, "y": 0.6333333 }, { "x": 0.70234376, "y": 0.6333333 } ] }, "timeOffset": "1.875s" }, { "rotatedBoundingBox": { "vertices": [ { "x": 0.70234376, "y": 0.6 }, { "x": 0.7992188, "y": 0.6 }, { "x": 0.7992188, "y": 0.6333333 }, { "x": 0.70234376, "y": 0.6333333 } ] }, "timeOffset": "2.083333s" }, { "rotatedBoundingBox": { "vertices": [ { "x": 0.70234376, "y": 0.6 }, { "x": 0.7992188, "y": 0.6 }, { "x": 0.7992188, "y": 0.6333333 }, { "x": 0.70234376, "y": 0.6333333 } ] }, "timeOffset": "2.291666s" } ] } ] }, { "text": "\"Sure, give me one second.\"", "segments": [ { "segment": { "startTimeOffset": "10.625s", "endTimeOffset": "13.333333s" }, "confidence": 0.98716676, "frames": [ { "rotatedBoundingBox": { "vertices": [ { "x": 0.60859376, "y": 0.59583336 }, { "x": 0.8952959, "y": 0.5903528 }, { "x": 0.89560676, "y": 0.6417387 }, { "x": 0.60890454, "y": 0.64721924 } ] }, "timeOffset": "10.625s" }, ... ] }Catatan: Kolom done hanya ditampilkan jika nilainya adalah True. Nilai ini tidak disertakan dalam respons yang operasinya belum selesai.
Mendownload hasil anotasi
Salin anotasi dari bucket sumber ke bucket tujuan: (lihat Menyalin file dan objek)
gcloud storage cp gcs_uri gs://my-bucket
Catatan: Jika URI GCS output disediakan oleh pengguna, maka anotasi akan disimpan di URI GCS tersebut.
Go
Java
Untuk melakukan autentikasi ke Video Intelligence, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Node.js
Untuk melakukan autentikasi ke Video Intelligence, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Untuk melakukan autentikasi ke Video Intelligence, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien lalu buka Dokumentasi referensi Video Intelligence untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Video Intelligence untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien lalu buka Dokumentasi referensi Video Intelligence untuk Ruby.
Meminta deteksi teks untuk video dari file lokal
Contoh berikut menunjukkan deteksi teks pada file yang disimpan secara lokal.
REST
Mengirim permintaan anotasi video
Untuk melakukan anotasi pada file video lokal, pastikan untuk melakukan enkode base64 pada konten file video.
Sertakan konten berenkode base64 di kolom inputContent
permintaan.
Untuk mengetahui informasi tentang cara
mengenkode base64 isi file video, lihat Pengenkodean Base64.
Berikut cara mengirim permintaan POST ke metode videos:annotate
.
Contoh ini menggunakan Google Cloud CLI untuk membuat token akses.
Untuk mengetahui petunjuk cara menginstal Google Cloud CLI, lihat
Panduan memulai Video Intelligence API
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- "inputContent": BASE64_ENCODED_CONTENT
Misalnya:
"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
- LANGUAGE_CODE: [Opsional] Misalnya, "en-US"
- PROJECT_NUMBER: ID numerik untuk Google Cloud project
Metode HTTP dan URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Meminta isi JSON:
{ "inputContent": "BASE64_ENCODED_CONTENT", "features": ["TEXT_DETECTION"], "videoContext": { "textDetectionConfig": { "languageHints": ["LANGUAGE_CODE"] } } }
Untuk mengirim permintaan Anda, perluas salah satu opsi berikut:
Anda akan melihat respons JSON seperti berikut:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
Jika respons berhasil, Video Intelligence API akan menampilkan name
operasi Anda. Di atas menunjukkan contoh respons tersebut, dengan
project-number
adalah nama project Anda dan operation-id
adalah ID
operasi yang berjalan lama yang dibuat untuk permintaan tersebut.
- OPERATION_ID: diberikan dalam respons saat Anda memulai
operasi, misalnya
12345...
Mendapatkan hasil anotasi
Untuk mengambil hasil operasi, buat permintaan GET, menggunakan nama operasi yang ditampilkan dari panggilan ke videos:annotate, seperti yang ditunjukkan dalam contoh berikut.
Sebelum menggunakan salah satu data permintaan, lakukan penggantian berikut:
- PROJECT_NUMBER: ID numerik untuk Google Cloud project
Metode HTTP dan URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Untuk mengirim permintaan, perluas salah satu opsi berikut:
Anda akan menerima respons JSON yang mirip dengan yang berikut ini:
Anotasi deteksi teks ditampilkan sebagai daftar textAnnotations
.
Catatan: Kolom done hanya ditampilkan jika nilainya adalah True.
Nilai ini tidak disertakan dalam respons yang operasinya belum selesai.
Go
Java
Node.js
Untuk melakukan autentikasi ke Video Intelligence, siapkan Kredensial Default Aplikasi. Untuk mengetahui informasi selengkapnya, lihat Menyiapkan autentikasi untuk lingkungan pengembangan lokal.
Python
Bahasa tambahan
C#: Ikuti Petunjuk penyiapan C# di halaman library klien lalu buka Dokumentasi referensi Video Intelligence untuk .NET.
PHP: Ikuti Petunjuk penyiapan PHP di halaman library klien, lalu buka Dokumentasi referensi Video Intelligence untuk PHP.
Ruby: Ikuti Petunjuk penyiapan Ruby di halaman library klien lalu buka Dokumentasi referensi Video Intelligence untuk Ruby.