O exemplo de código seguinte demonstra como detetar pessoas num ficheiro de vídeo através da Video Intelligence API.
A Video Intelligence pode detetar a presença de humanos num ficheiro de vídeo e monitorizar indivíduos num vídeo ou num segmento de vídeo.
Deteção de pessoas a partir de um ficheiro no Cloud Storage
O exemplo seguinte demonstra como enviar um pedido de anotação para o Video Intelligence com a funcionalidade de deteção de pessoas.
REST
Envie uma solicitação de anotação de vídeo
O exemplo seguinte mostra como enviar um pedido POST para o método
videos:annotate
. O exemplo usa a Google Cloud CLI para criar um token de acesso. Para ver instruções sobre a instalação da CLI gcloud, consulte o
guia de início rápido da Video Intelligence API.
Veja também PersonDetectionConfig
.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- INPUT_URI: um contentor do Cloud Storage que contém o ficheiro que quer anotar, incluindo o nome do ficheiro. Tem de
começar com
gs://
.
Por exemplo:
"inputUri": "gs://cloud-samples-data/video/googlework_short.mp4"
- PROJECT_NUMBER: o identificador numérico do seu Google Cloud projeto
Método HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON do pedido:
{ "inputUri": "INPUT_URI", "features": ["PERSON_DETECTION"], "videoContext": { "personDetectionConfig": { "includeBoundingBoxes": true, "includePoseLandmarks": true, "includeAttributes": true } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
Se a resposta for bem-sucedida, a Video Intelligence API devolve o name
para a sua operação. O exemplo acima mostra uma resposta deste tipo, em que:
- PROJECT_NUMBER: o número do seu projeto
- LOCATION_ID: a região da nuvem onde a anotação deve ocorrer. As regiões da nuvem suportadas são:
us-east1
,us-west1
,europe-west1
easia-east1
. Se não for especificada nenhuma região, é determinada uma região com base na localização do ficheiro de vídeo. - OPERATION_ID: o ID da operação de longa duração criada
para o pedido e fornecido na resposta quando iniciou a
operação, por exemplo,
12345...
Obtenha resultados de anotações
Para obter o resultado da operação, faça um pedido GET, usando o nome da operação devolvido da chamada para videos:annotate, conforme mostrado no exemplo seguinte.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- OPERATION_NAME: o nome da operação, conforme
devolvido 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 seu Google Cloud projeto
Método HTTP e URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
As anotações de deteção de planos são devolvidas como uma listashotAnnotations
.
Nota: o campo done só é devolvido quando o respetivo valor é True.
Não está incluído nas respostas para as quais a operação não foi concluída.
Transfira os resultados das anotações
Copie a anotação da origem para o contentor de destino: (consulte o artigo Copie ficheiros e objetos)
gcloud storage cp gcs_uri gs://my-bucket
Nota: se o URI do GCS de saída for fornecido pelo utilizador, a anotação é armazenada nesse URI do GCS.
Java
Para se autenticar no Video Intelligence, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Video Intelligence, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Video Intelligence, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, visite a documentação de referência da Video Intelligence API para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas cliente e, em seguida, visite a documentação de referência da Video Intelligence API para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da Video Intelligence API para Ruby.
Deteção de pessoas a partir de um ficheiro local
O exemplo seguinte usa a deteção de pessoas para encontrar entidades num vídeo a partir de um ficheiro de vídeo carregado do seu computador local.
REST
Envie o pedido de processamento
Para realizar a deteção de pessoas num ficheiro de vídeo local, codifique em base64 o conteúdo do ficheiro de vídeo. Para ver informações sobre como codificar em base64 o conteúdo de um ficheiro de vídeo, consulte o artigo Codificação em base64. Em seguida, faça um pedido POST ao método
videos:annotate
. Inclua o conteúdo codificado em base64 no campo inputContent
do pedido e especifique a funcionalidade PERSON_DETECTION
.
O exemplo seguinte mostra um pedido POST com o curl. O exemplo usa a Google Cloud CLI para criar um token de acesso. Para ver instruções sobre a instalação da CLI gcloud, consulte o guia de início rápido da Video Intelligence API
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- inputContent: Ficheiro de vídeo local em formato binário
Por exemplo: "AAAAGGZ0eXBtcDQyAAAAAGlzb21tcDQyAAGVYW1vb3YAAABsbXZoZAAAAADWvhlR1r4ZUQABX5ABCOxo AAEAAAEAAAAAAA4..." - PROJECT_NUMBER: o identificador numérico do seu Google Cloud projeto
Método HTTP e URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
Corpo JSON do pedido:
{ "inputUri": "Local video file in binary format", "features": ["PERSON_DETECTION"], "videoContext": { "personDetectionConfig": { "includeBoundingBoxes": true, "includePoseLandmarks": true, "includeAttributes": true } } }
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
Se o pedido for bem-sucedido, o Video Intelligence devolve o name
para a sua operação. O exemplo acima mostra uma resposta deste tipo, em que project-number
é o número do seu projeto e operation-id
é o ID da operação de longa duração criada para o pedido.
{
"name": "us-west1.17122464255125931980"
}
Obtenha os resultados
Para obter o resultado da operação, faça um pedido GET ao ponto final operations
e especifique o nome da sua operação.
Antes de usar qualquer um dos dados do pedido, faça as seguintes substituições:
- OPERATION_NAME: o nome da operação, conforme
devolvido 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 seu Google Cloud projeto
Método HTTP e URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
Para enviar o seu pedido, expanda uma destas opções:
Deve receber uma resposta JSON semelhante à seguinte:
Java
Para se autenticar no Video Intelligence, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Node.js
Para se autenticar no Video Intelligence, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Python
Para se autenticar no Video Intelligence, configure as Credenciais padrão da aplicação. Para mais informações, consulte o artigo Configure a autenticação para um ambiente de desenvolvimento local.
Idiomas adicionais
C#: Siga as instruções de configuração do C# na página das bibliotecas cliente e, em seguida, visite a documentação de referência da Video Intelligence API para .NET.
PHP: Siga as instruções de configuração do PHP na página das bibliotecas cliente e, em seguida, visite a documentação de referência da Video Intelligence API para PHP.
Ruby: Siga as instruções de configuração do Ruby na página das bibliotecas cliente e, em seguida, visite a documentação de referência da Video Intelligence API para Ruby.