A API Video Intelligence pode identificar entidades exibidas em filmagens usando o recurso LABEL_DETECTION. Esse recurso identifica objetos gerais, locais, atividades, espécies de animais, produtos e muito mais.
A análise pode ser dividida da seguinte maneira:
- Nível do frame:
entidades são identificadas e rotuladas dentro de cada frame (com amostragem de um frame por segundo). - Nível da imagem:
as imagens são detectadas automaticamente em cada segmento (ou vídeo). As entidades são identificadas e rotuladas em cada imagem. - Nível do segmento:
os segmentos selecionados por usuários de um vídeo podem ser especificados para análise estipulando carimbos de data/hora inicias e finais para fins de anotação (consulte VideoSegment). As entidades são identificadas e rotuladas dentro de cada segmento. Se nenhum segmento for especificado, o vídeo inteiro será tratado como um segmento.
Anotar um arquivo local
Veja um exemplo de análise de rótulos de vídeo em um arquivo local.
Procurando informações mais detalhadas? Confira nosso tutorial detalhado do Python.
REST
Enviar a solicitação de processo
Veja a seguir como enviar uma solicitação POST
para o método videos:annotate
. É possível configurar o LabelDetectionMode
para anotações no nível da imagem e/ou frame. Recomendamos o uso de SHOT_AND_FRAME_MODE
O exemplo usa o token de acesso para
uma conta de serviço configurada para o projeto usando a Google Cloud CLI. Para
instruções sobre como instalar a CLI do Google Cloud, configurar um projeto com uma conta de
serviço e receber um token de acesso, consulte o
Guia de início rápido da Video Intelligence.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- BASE64_ENCODED_CONTENT: seu vídeo como dados codificados em base64. Consulte as instruções sobre como converter seus dados em base64.
- PROJECT_NUMBER: o identificador numérico do seu projeto do Google Cloud
Método HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON da solicitação:
{ "inputContent": "BASE64_ENCODED_CONTENT", "features": ["LABEL_DETECTION"], }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
Se a solicitação for bem-sucedida, a Video Intelligence retornará o nome da operação.
Ver os resultados
Para ver os resultados da sua solicitação, você precisa enviar uma solicitação GET
para o recurso projects.locations.operations
. Veja a seguir como enviar essa solicitação.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- OPERATION_NAME: o nome da operação, conforme retornado pela API Video Intelligence. O nome da operação tem o formato
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
. - PROJECT_NUMBER: o identificador numérico do projeto do Google Cloud
Método HTTP e URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Go
Java
Node.js
Python
Para saber mais sobre como instalar e usar a biblioteca de cliente da API Cloud Video Intelligence para Python, consulte Bibliotecas de cliente da API Video Intelligence.Outras linguagens
C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do Video Intelligence para .NET.
PHP: Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a Documentação de referência do Video Intelligence para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página de bibliotecas de cliente e acesse a Documentação de referência do Video Intelligence para Ruby.
Anotar um arquivo no Cloud Storage
Veja um exemplo de análise de vídeo para rótulos em um arquivo localizado no Cloud Storage.
REST
Para saber mais sobre como instalar e usar a biblioteca de cliente da API Cloud Video Intelligence para Python, consulte Bibliotecas de cliente da API Video Intelligence.Enviar a solicitação de processo
Veja a seguir como enviar uma solicitação POST
para o método annotate
. O exemplo usa o token de acesso de
uma conta de serviço configurada para o projeto com a Google Cloud CLI. Para
instruções sobre como instalar a CLI do Google Cloud, configurar um projeto com uma conta de
serviço e receber um token de acesso, consulte o
Guia de início rápido da Video Intelligence.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- INPUT_URI: um bucket do Cloud Storage que contém o arquivo que você quer anotar, incluindo o nome do arquivo. É necessário começar com
gs://
. - PROJECT_NUMBER: o identificador numérico do projeto do Google Cloud
Método HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON da solicitação:
{ "inputUri": "INPUT_URI", "features": ["LABEL_DETECTION"], }
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
Se a solicitação for bem-sucedida, a Video Intelligence retornará o nome da operação.
Ver os resultados
Para ver os resultados da sua solicitação, você precisa enviar uma solicitação GET
para o recurso projects.locations.operations
. Veja a seguir como enviar essa solicitação.
Antes de usar os dados da solicitação abaixo, faça as substituições a seguir:
- OPERATION_NAME: o nome da operação, conforme retornado pela API Video Intelligence. O nome da operação tem o formato
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
. - PROJECT_NUMBER: o identificador numérico do projeto do Google Cloud
Método HTTP e URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Para enviar a solicitação, expanda uma destas opções:
Você receberá uma resposta JSON semelhante a esta:
Fazer o download dos resultados da anotação
Copie a anotação da origem e a cole no bucket de destino: consulte Copiar arquivos e objetos
gcloud storage cp gcs_uri gs://my-bucket
Observação: se o URI de saída do GCS for fornecido pelo usuário, a anotação será armazenada nesse URI.
Go
Java
Node.js
Python
Outras linguagens
C#: Siga as Instruções de configuração do C# na página das bibliotecas de cliente e acesse a Documentação de referência do Video Intelligence para .NET.
PHP: Siga as Instruções de configuração do PHP na página das bibliotecas de cliente e acesse a Documentação de referência do Video Intelligence para PHP.
Ruby: Siga as Instruções de configuração do Ruby na página das bibliotecas de cliente e acesse a Documentação de referência do Video Intelligence para Ruby.