Codificação base64

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

Ao transmitir um vídeo para a API Video Intelligence, é possível transmitir um URI do Cloud Storage ou incorporar dados de vídeo diretamente no campo content da solicitação, que precisa ser codificado em base64.

Como usar a linha de comando

Em uma solicitação gRPC, você pode simplesmente gravar dados binários diretamente. No entanto, o JSON é usado ao fazer uma solicitação REST. JSON é um formato de texto que não suporta diretamente dados binários, então você precisará converter esses dados binários em texto usando a codificação Base64.

A maioria dos ambientes de desenvolvimento contém um utilitário base64 nativo para codificar um binário em dados de texto ASCII. Para codificar um arquivo, faça o seguinte:

Linux

Codifique o arquivo usando a ferramenta de linha de comando base64. Use a sinalização -w 0 para evitar o wrapper de linha:

base64 INPUT_FILE -w 0 > OUTPUT_FILE

macOS

Codifique o arquivo usando a ferramenta de linha de comando base64:

base64 -i INPUT_FILE -o OUTPUT_FILE

Windows

Codifique o arquivo usando a ferramenta Base64.exe:

certutil -encodehex SOURCE_VIDEO_FILE > DEST_TEXT_FILE 0x40000001

PowerShell

Codifique o arquivo usando o método Convert.ToBase64String:

[Convert]::ToBase64String([IO.File]::ReadAllBytes("./INPUT_FILE")) > OUTPUT_FILE

Crie um arquivo de solicitação JSON, incluindo os dados codificados em base64:

JSON

{
  "requests":[
    {
      "image":{
        "content": "ZkxhQwAAACIQABAAAAUJABtAA+gA8AB+W8FZndQvQAyjv..."
      },
      "features": [
        {
          "type":"LABEL_DETECTION",
          "maxResults":1
        }
      ]
    }
  ]
}

Como usar bibliotecas de cliente

Incorporar dados binários em solicitações por meio de editores de texto não é desejável nem prático. Na prática, você estará incorporando arquivos com codificação base64 no código do cliente. Todas as linguagens de programação compatíveis têm mecanismos integrados para conteúdo de codificação base64.

Python

Em Python, codifique os arquivos de vídeo em base64 da seguinte maneira:

# 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

Em Node.js, codifique os arquivos de vídeo em base64 da seguinte maneira:

// 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

Em Java, codifique os arquivos de imagem em base64 como no exemplo a seguir:

// Import the Base64 encoding library.
import org.apache.commons.codec.binary.Base64;

// Encode the video.
byte[] videoData = Base64.encodeBase64(videoFile.getBytes());