Encodage Base64

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

Pour transmettre du contenu vidéo à l'API Video Intelligence, utilisez un URI Cloud Storage ou intégrez les données vidéo directement dans le champ content de la requête. Les données vidéo doivent être encodées en base64.

Utiliser la ligne de commande

Dans une requête gRPC, vous pouvez écrire directement des données binaires. Toutefois, JSON est utilisé lors de l'exécution d'une requête REST. JSON est un format de texte qui n'est pas directement compatible avec les données binaires. Vous devez donc convertir ces données binaires en texte en utilisant l'encodage base64.

La plupart des environnements de développement contiennent un utilitaire base64 natif permettant d'encoder un binaire en données textuelles ASCII. Pour encoder un fichier:

Linux

Encodez le fichier à l'aide de l'outil de ligne de commande base64, en veillant à l'empêcher d'effectuer des renvois automatiques à la ligne avec l'option -w 0:

base64 INPUT_FILE -w 0 > OUTPUT_FILE

macOS

Encodez le fichier à l'aide de l'outil de ligne de commande base64:

base64 -i INPUT_FILE -o OUTPUT_FILE

Windows

Encodez le fichier à l'aide de l'outil Base64.exe:

certutil -encodehex SOURCE_VIDEO_FILE > DEST_TEXT_FILE 0x40000001

PowerShell

Encodez le fichier à l'aide de la méthode Convert.ToBase64String:

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

Créez un fichier de requête JSON intégrant les données encodées en base64:

JSON

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

Bibliothèques clientes

L'intégration de données binaires dans les requêtes via des éditeurs de texte n'est ni souhaitable, ni pratique. Concrètement, vous allez incorporer des fichiers encodés en base64 dans le code client. Tous les langages de programmation compatibles intègrent des mécanismes d'encodage en base64.

Python

En Python, vous pouvez encoder les fichiers vidéo en base64 comme suit :

# 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

En Node.js, vous pouvez encoder les fichiers vidéo en base64 comme suit :

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

En Java, vous pouvez encoder les fichiers image en base64 comme suit :

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

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