Saat meneruskan video ke Video Intelligence API, Anda dapat meneruskan URI Cloud Storage, atau menyematkan data video secara langsung dalam kolom content
permintaan, yang harus berenkode base64.
Menggunakan command line
Dalam permintaan gRPC, Anda cukup menulis data biner secara langsung; tetapi JSON digunakan saat membuat permintaan REST. JSON adalah format teks yang tidak mendukung data biner secara langsung, sehingga Anda harus mengonversi data biner tersebut menjadi teks menggunakan encoding Base64.
Sebagian besar lingkungan pengembangan berisi utilitas base64
native untuk
mengenkode biner ke dalam data teks ASCII. Untuk mengenkode file:
Linux
Enkode file menggunakan alat command line base64
, yang memastikan untuk
mencegah penggabungan baris menggunakan flag -w 0
:
base64 INPUT_FILE -w 0 > OUTPUT_FILE
macOS
Enkode file menggunakan alat command line base64
:
base64 -i INPUT_FILE -o OUTPUT_FILE
Windows
Enkode file menggunakan alat Base64.exe
:
certutil -encodehex SOURCE_VIDEO_FILE > DEST_TEXT_FILE 0x40000001
PowerShell
Enkode file menggunakan metode Convert.ToBase64String
:
[Convert]::ToBase64String([IO.File]::ReadAllBytes("./INPUT_FILE")) > OUTPUT_FILE
Buat file permintaan JSON, dengan menyisipkan data berenkode base64:
JSON
{ "requests":[ { "image":{ "content": "ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv..." }, "features": [ { "type":"LABEL_DETECTION", "maxResults":1 } ] } ] }
Menggunakan library klien
Menyematkan data biner ke dalam permintaan melalui editor teks bukanlah hal yang diinginkan atau praktis. Dalam praktiknya, Anda akan menyematkan file berenkode base64 dalam kode klien. Semua bahasa pemrograman yang didukung memiliki mekanisme bawaan untuk konten encoding base64.
Python
Dalam Python, base64 mengenkode file video sebagai berikut:
# Import the base64 encoding library.
import base64
# Pass the video data to an encoding function.
def encode_video(video):
video_content = video.read()
return base64.b64encode(video_content)
Node.js
Di Node.js, base64 mengenkode file video sebagai berikut:
// Read the file into memory.
var fs = require('fs');
var videoFile = fs.readFileSync('/path/to/file');
// Convert the video data to a Buffer and base64 encode it.
var encoded = new Buffer(videoFile).toString('base64');
Java
Di Java, Anda dapat mengenkode file gambar base64 sebagai berikut:
// Import the Base64 encoding library.
import org.apache.commons.codec.binary.Base64;
// Encode the video.
byte[] videoData = Base64.encodeBase64(videoFile.getBytes());