Nesta página, mostramos como fazer uma solicitação à API Video Intelligence com curl
.
Você pode seguir as etapas nesta página ou usar este início rápido como um laboratório do Google Cloud Training.
Antes de começar
-
Faça login na sua conta do Google.
Se você ainda não tiver uma, inscreva-se.
-
No Console do Google Cloud, na página do seletor de projetos, selecione ou crie um projeto do Google Cloud.
-
Verifique se o faturamento está ativado para seu projeto na nuvem. Saiba como confirmar se o faturamento está ativado para o projeto.
- Ative a API necessária.
-
Configurar a autenticação:
-
No Console do Cloud, acesse a página Criar chave da conta de serviço.
Acessar página "Criar chave da conta de serviço" - Na lista Conta de serviço, selecione Nova conta de serviço.
- No campo Nome da conta de serviço, insira um nome.
- Não selecione um valor na lista Papel. Não é necessário ter um papel para acessar esse serviço.
- Clique em Criar. Uma nota aparecerá informando que esta conta de serviço não tem papel.
- Clique em Criar sem papel. O download de um arquivo JSON que contém sua chave é feito no seu computador.
-
-
Defina a variável de ambiente
GOOGLE_APPLICATION_CREDENTIALS
como o caminho do arquivo JSON que contém a chave da conta de serviço. Essa variável só se aplica à sessão de shell atual. Dessa maneira, se você abrir uma nova sessão, defina a variável novamente. - Instale e inicialize o SDK do Cloud..
Criar uma solicitação de anotação de vídeo
gcloud
Use a ferramenta de linha de comandogcloud
para chamar o comando detect-labels
no caminho do vídeo a ser analisado.
gcloud ml video detect-labels gs://your_bucket/your_object
Linha de comando
Use
curl
para fazer uma solicitação POST para o métodovideos:annotate
, usando o comandogcloud auth application-default print-access-token
para colar um token de acesso à conta de serviço:curl -X POST \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ -H "Content-Type: application/json; charset=utf-8" \ --data "{ "inputUri":"gs://your_bucket/your_object", "features": [ "LABEL_DETECTION" ] }" "https://videointelligence.googleapis.com/v1/videos:annotate"
A API Video Intelligence cria uma operação para processar a solicitação. A resposta inclui o nome da operação:
{ "name": "projects/project-number/locations/location-id/operations/operation-id" }
É possível solicitar informações sobre a operação chamando o endpoint
v1.operations
e substituindo operation-name no exemplo abaixo pelo nome retornado na etapa anterior:curl -X GET \ -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \ https://videointelligence.googleapis.com/v1/operation-name
Você verá as informações relativas à operação. Se a operação tiver sido concluída, um campo
done
será incluído e definido comotrue
:{ "name": "projects/project-number/locations/location-id/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoProgress", "annotationProgress": [ { "inputUri": "/your_bucket/your_object", "progressPercent": 100, "startTime": "2020-04-01T22:13:17.978847Z", "updateTime": "2020-04-01T22:13:29.576004Z" } ] }, "done": true, ... }
Em geral, depois de aproximadamente um minuto, a mesma solicitação retorna resultados da anotação:
{ "name": "projects/project-number/locations/location-id/operations/operation-id", "metadata": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoProgress", "annotationProgress": [ { "inputUri": "your_bucket/your_object", "progressPercent": 100, "startTime": "2020-04-01T22:13:17.978847Z", "updateTime": "2020-04-01T22:13:29.576004Z" } ] }, "done": true, "response": { "@type": "type.googleapis.com/google.cloud.videointelligence.v1.AnnotateVideoResponse", "annotationResults": [ { "inputUri": "/your_bucket/your_object", "segmentLabelAnnotations": [ { "entity": { "entityId": "/m/07bsy", "description": "transport", "languageCode": "en-US" }, "segments": [ { "segment": { "startTimeOffset": "0s", "endTimeOffset": "38.757872s" }, "confidence": 0.81231534 } ] }, { "entity": { "entityId": "/m/01n32", "description": "city", "languageCode": "en-US" }, "categoryEntities": [ { "entityId": "/m/043rvww", "description": "geographical feature", "languageCode": "en-US" } ], "segments": [ { "segment": { "startTimeOffset": "0s", "endTimeOffset": "38.757872s" }, "confidence": 0.3942462 } ] }, ... { "entity": { "entityId": "/m/06gfj", "description": "road", "languageCode": "en-US" }, "segments": [ { "segment": { "startTimeOffset": "0s", "endTimeOffset": "38.757872s" }, "confidence": 0.86698604 } ] } ] } ] } }
Parabéns! Você enviou sua primeira solicitação para a API Video Intelligence.
Limpeza
Para evitar cobranças desnecessárias do Google Cloud Platform use o Console do Cloud para excluir o projeto se ele não for mais necessário.
A seguir
- Siga as etapas indicadas em Guias de instruções.
- Siga as etapas indicadas em Amostras e tutoriais.
- Consulte a Referência da API para ver informações completas sobre todas as chamadas de API.