Video Intelligence API는 LABEL_DETECTION 기능을 사용하여 동영상에 표시되는 항목을 식별할 수 있습니다. 이 기능은 객체, 위치, 활동, 동물 종, 제품 등을 식별합니다.
분석을 다음과 같이 구획화할 수 있습니다.
- 프레임 수준:
각 프레임 내에서 항목이 식별되고 라벨로 지정됩니다(초당 1프레임 샘플링). - 장면 수준:
모든 세그먼트(또는 동영상) 내에서 장면이 자동으로 감지됩니다. 그런 후 항목이 식별되고 각 장면 내에서 라벨로 지정됩니다. - 세그먼트 수준:
주석 목적에 따라 시작 및 종료 타임스탬프를 규정하여 사용자가 선택한 동영상 세그먼트를 분석하도록 지정할 수 있습니다(VideoSegment 참조). 그런 후 항목이 식별되고 각 세그먼트 내에서 라벨로 지정됩니다. 세그먼트를 지정하지 않으면 전체 동영상이 하나의 세그먼트로 취급됩니다.
로컬 파일에 주석 추가
다음은 로컬 파일에서 동영상 라벨 분석을 수행하는 예입니다.
자세한 정보를 알고 싶다면 자세한 Python 가이드를 참조하세요.
REST
프로세스 요청 전송
다음은 videos:annotate
메서드에 POST
요청을 보내는 방법을 보여줍니다. LabelDetectionMode
를 장면 수준 또는 프레임 수준 주석으로 구성할 수 있습니다. SHOT_AND_FRAME_MODE
를 사용하는 것이 좋습니다. 이 예시에서는 Google Cloud CLI를 사용하는 프로젝트의 서비스 계정을 설정하기 위해 액세스 토큰을 사용합니다. Google Cloud CLI 설치, 서비스 계정으로 프로젝트 설정, 액세스 토큰 획득 방법은 Video Intelligence 빠른 시작을 참조하세요.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- BASE64_ENCODED_CONTENT: base64로 인코딩된 동영상 데이터입니다. 데이터를 base64로 변환하는 방법 안내를 참조하세요.
- PROJECT_NUMBER: Google Cloud 프로젝트의 숫자 식별자
HTTP 메서드 및 URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
JSON 요청 본문:
{ "inputContent": "BASE64_ENCODED_CONTENT", "features": ["LABEL_DETECTION"], }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
요청이 성공하면 Video Intelligence가 작업의 이름을 반환합니다.
결과 가져오기
요청 결과를 가져오려면 projects.locations.operations
리소스에 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 응답이 표시됩니다.
Go
Java
Node.js
Python
Python용 Video Intelligence API 클라이언트 라이브러리 설치 및 사용에 대한 자세한 내용은 Video Intelligence API 클라이언트 라이브러리를 참조하세요.추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 다음 .NET용 Video Intelligence 참고 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 다음 PHP용 Video Intelligence 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 Video Intelligence 참고 문서를 참조하세요.
Cloud Storage의 파일에 주석 추가
다음은 Cloud Storage에 있는 파일에서 라벨에 대해 동영상 분석을 수행하는 예시입니다.
REST
Python용 Video Intelligence API 클라이언트 라이브러리 설치 및 사용에 대한 자세한 내용은 Video Intelligence API 클라이언트 라이브러리를 참조하세요.프로세스 요청 전송
다음은 annotate
메서드에 POST
요청을 보내는 방법을 보여줍니다. 이 예시에서는 Google Cloud CLI를 사용하는 프로젝트의 서비스 계정을 설정하기 위해 액세스 토큰을 사용합니다. Google Cloud CLI 설치, 서비스 계정으로 프로젝트 설정, 액세스 토큰 획득 방법은 Video Intelligence 빠른 시작을 참조하세요.
요청 데이터를 사용하기 전에 다음을 바꿉니다.
- INPUT_URI: 파일 이름을 포함하여 주석을 추가하고자 하는 파일을 포함한 Cloud Storage 버킷입니다.
gs://
로 시작해야 합니다. - PROJECT_NUMBER: Google Cloud 프로젝트의 숫자 식별자
HTTP 메서드 및 URL:
POST https://videointelligence.googleapis.com/v1/videos:annotate
JSON 요청 본문:
{ "inputUri": "INPUT_URI", "features": ["LABEL_DETECTION"], }
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION_ID/operations/OPERATION_ID" }
요청이 성공하면 Video Intelligence가 작업 이름을 반환합니다.
결과 가져오기
요청 결과를 가져오려면 projects.locations.operations
리소스에 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
Java
Node.js
Python
추가 언어
C#: 클라이언트 라이브러리 페이지의 C# 설정 안내를 따른 다음 .NET용 Video Intelligence 참고 문서를 참조하세요.
PHP: 클라이언트 라이브러리 페이지의 PHP 설정 안내를 따른 다음 PHP용 Video Intelligence 참고 문서를 참조하세요.
Ruby: 클라이언트 라이브러리 페이지의 Ruby 설정 안내를 따른 다음 Ruby용 Video Intelligence 참고 문서를 참조하세요.