Video Intelligence API는 동영상 콘텐츠에 있는 100,000개 이상의 브랜드와 로고를 감지, 추적, 인식할 수 있습니다.
이 페이지에서는 Video Intelligence API를 사용하여 동영상에서 로고를 인식하는 방법을 설명합니다.
Cloud Storage에서 동영상 주석 작성
다음 코드 샘플은 Cloud Storage에서 동영상에 있는 로고를 감지하는 방법을 보여줍니다.
REST
프로세스 요청 전송
로컬 동영상 파일에서 주석을 수행하려면 동영상 파일의 콘텐츠를 base64로 인코딩합니다. 요청의 inputContent
필드에 base64로 인코딩된 콘텐츠를 포함합니다. 동영상 파일의 콘텐츠를 base64로 인코딩하는 방법에 대한 자세한 내용은 Base64 인코딩을 참조하세요.
다음은 videos:annotate
메서드에 POST
요청을 보내는 방법을 보여줍니다.
이 예시에서는 Google Cloud CLI를 사용하는 프로젝트의 서비스 계정을 설정하기 위해 액세스 토큰을 사용합니다. Google Cloud CLI 설치, 서비스 계정으로 프로젝트 설정, 액세스 토큰 획득 방법은 Video Intelligence 빠른 시작을 참조하세요.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- INPUT_URI: 파일 이름을 포함하여 주석을 추가하고자 하는 파일을 포함한 Cloud Storage 버킷입니다.
gs://
로 시작해야 합니다.
예를 들면 다음과 같습니다.
"inputUri": "gs://cloud-videointelligence-demo/assistant.mp4",
- PROJECT_NUMBER: Google Cloud 프로젝트의 숫자 식별자
HTTP 메서드 및 URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
JSON 요청 본문:
{ "inputUri":"INPUT_URI", "features": ["LOGO_RECOGNITION"] }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
응답이 성공하면 Video Intelligence API가 작업의 name
을 반환합니다. 위 항목은 이러한 응답의 예시를 보여줍니다. 여기서 project-number
는 프로젝트의 번호이고 operation-id
는 요청에 대해 생성된 장기 실행 작업의 ID입니다.
- PROJECT_NUMBER: 프로젝트 수입니다.
- LOCATION_ID: 주석이 있어야 할 클라우드 리전입니다. 지원되는 클라우드 리전은
us-east1
,us-west1
,europe-west1
,asia-east1
입니다. 리전을 지정하지 않으면 동영상 파일 위치를 기준으로 리전이 결정됩니다. - OPERATION_ID: 작업을 시작할 때 요청으로 생성되고 응답으로 제공된 장기 실행 작업의 ID로 예를 들면
12345...
입니다.
결과 가져오기
요청 결과를 가져오려면 다음 예시에 표시된 것처럼 videos:annotate
호출로부터 반환된 작업 이름을 사용하여 GET
요청을 전송합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- OPERATION_NAME: Video Intelligence API로 반환되는 작업의 이름입니다. 작업 이름은
projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID
형식입니다. - PROJECT_NUMBER: Google Cloud 프로젝트의 숫자 식별자
HTTP 메서드 및 URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
주석 결과 다운로드
소스에서 대상 버킷으로 주석을 복사합니다(파일 및 객체 복사 참조).
gcloud storage cp gcs_uri gs://my-bucket
참고: 사용자가 출력 gcs uri를 제공하면 주석이 해당 gcs uri에 저장됩니다.
Go
Video Intelligence에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Video Intelligence에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Video Intelligence에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Video Intelligence에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 다음 .NET용 Video Intelligence 참고 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 다음 PHP용 Video Intelligence 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 Video Intelligence 참고 문서를 참조하세요.
로컬 동영상 주석 작성
다음 코드 샘플은 로컬 동영상 파일에서 로고를 감지하는 방법을 보여줍니다.
REST
동영상 주석 요청 전송
로컬 동영상 파일에서 주석을 수행하려면 동영상 파일의 콘텐츠를 base64로 인코딩해야 합니다.
요청의 inputContent
필드에 base64로 인코딩된 콘텐츠를 포함합니다.
동영상 파일의 콘텐츠를 base64로 인코딩하는 방법에 대한 자세한 내용은 Base64 인코딩을 참조하세요.
다음은 videos:annotate
메서드에 POST 요청을 보내는 방법을 보여줍니다.
이 예시에서는 Google Cloud CLI를 사용하는 프로젝트의 서비스 계정을 설정하기 위해 액세스 토큰을 사용합니다.
Google Cloud CLI 설치, 서비스 계정으로 프로젝트 설정, 액세스 토큰 획득 방법은 Video Intelligence API 빠른 시작을 참조하세요.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- 'inputContent': BASE64_ENCODED_CONTENT
예를 들면 다음과 같습니다.
"UklGRg41AwBBVkkgTElTVAwBAABoZHJsYXZpaDgAAAA1ggAAxPMBAAAAAAAQCAA..."
- LANGUAGE_CODE: [선택사항] 지원되는 언어 참조
- PROJECT_NUMBER: Google Cloud 프로젝트의 숫자 식별자
HTTP 메서드 및 URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
JSON 요청 본문:
{ "inputContent": "BASE64_ENCODED_CONTENT", "features": ["LOGO_RECOGNITION"], "videoContext": { } }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
응답이 성공하면 Video Intelligence API가 작업의 name
을 반환합니다. 위 항목은 이러한 응답의 예시를 보여줍니다. 여기서 project-number
는 프로젝트의 이름이고 operation-id
는 요청에 대해 생성된 장기 실행 작업의 ID입니다.
- OPERATION_ID: 작업을 시작할 때 응답에 제공됩니다. 예를 들면
12345...
입니다.
주석 결과 가져오기
작업 결과를 검색하려면 다음 예시에 표시된 것처럼 videos:annotate 호출로부터 반환된 작업 이름을 사용하여 GET 요청을 수행합니다.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- PROJECT_NUMBER: Google Cloud 프로젝트의 숫자 식별자
HTTP 메서드 및 URL:
GET https://videointelligence.googleapis.com/v1/OPERATION_NAME
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
텍스트 감지 주석은 textAnnotations
목록으로 반환됩니다.
참고: done 필드는 값이 True일 경우에만 반환됩니다.
작업이 완료되지 않은 경우에는 응답에 이 필드가 포함되지 않습니다.
Go
Video Intelligence에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
Video Intelligence에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
Video Intelligence에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
Video Intelligence에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 다음 .NET용 Video Intelligence 참고 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 다음 PHP용 Video Intelligence 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 Video Intelligence 참고 문서를 참조하세요.