이 페이지에서는 트랜스코딩한 동영상의 프레임이 포함된 스프라이트 시트를 생성하는 방법을 설명합니다. 이러한 축소된 프레임(미리보기 이미지라고도 함)은 콘텐츠를 구성하고 미리보는 경우에 유용합니다. 스프라이트 시트를 생성하려면 JobConfig
템플릿에서 spriteSheets
배열을 사용합니다.
스프라이트 시트를 만드는 옵션에는 두 가지가 있습니다.
- 입력 동영상 타임라인에 고르게 분산된 미리보기 이미지를 설정한 수로 생성합니다.
- 입력 동영상 타임라인에서 n초 간격으로 미리보기 이미지를 정기적으로 생성합니다.
설정한 수로 미리보기 이미지 생성
다음 구성에서는 큰 이미지의 10x10 스프라이트 시트와 작은 이미지의 10x10 스프라이트 시트 등 미리보기 이미지를 각각 100개씩 생성합니다. 스프라이트 시트에는 작업 구성에 하나 이상의 VideoStream
이 필요합니다.
이 구성을 작업 템플릿에 추가하거나 임시 작업 구성에 포함할 수 있습니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: IAM 설정에 나열된 Google Cloud 프로젝트 ID입니다.LOCATION
: 작업이 실행될 위치입니다. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
STORAGE_BUCKET_NAME
: 만든 Cloud Storage 버킷의 이름입니다.STORAGE_INPUT_VIDEO
: Cloud Storage 버킷에 있는 트랜스코딩하는 동영상의 이름입니다(예:my-vid.mp4
). 이 필드는 버킷에서 만든 폴더(예:input/my-vid.mp4
)를 고려해야 합니다.STORAGE_OUTPUT_FOLDER
: 인코딩된 동영상 출력을 저장할 Cloud Storage 폴더 이름입니다.
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
gcloud
- 작업 필드를 정의하는
request.json
파일을 만듭니다.gcloud
명령어를 다음과 같이 바꿉니다.- STORAGE_BUCKET_NAME: 만든 Cloud Storage 버킷의 이름입니다.
- STORAGE_INPUT_VIDEO: Cloud Storage 버킷에 있는 트랜스코딩하는 동영상의 이름입니다(예:
my-vid.mp4
). 이 필드는 버킷에서 만든 폴더(예:input/my-vid.mp4
)를 고려해야 합니다. - LOCATION: 작업이 실행될 위치입니다. 다음 목록의 위치를 사용합니다.
위치 표시
us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
- STORAGE_OUTPUT_FOLDER: 인코딩된 동영상 출력을 저장할 Cloud Storage 폴더 이름입니다.
{ "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_INPUT_VIDEO" } ], "elementaryStreams": [ { "key": "video-stream0", "videoStream": { "h264": { "heightPixels": 360, "widthPixels": 640, "bitrateBps": 550000, "frameRate": 60 } } }, { "key": "audio-stream0", "audioStream": { "codec": "aac", "bitrateBps": 64000 } } ], "muxStreams": [ { "key": "sd", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_OUTPUT_FOLDER/" }, "spriteSheets": [ { "filePrefix": "small-sprite-sheet", "spriteHeightPixels": 32, "spriteWidthPixels": 64, "columnCount": 10, "rowCount": 10, "totalCount": 100 }, { "filePrefix": "large-sprite-sheet", "spriteHeightPixels": 72, "spriteWidthPixels": 128, "columnCount": 10, "rowCount": 10, "totalCount": 100 } ] } }
- 다음 명령어를 실행합니다.
다음과 비슷한 응답이 표시됩니다.gcloud transcoder jobs create --location=LOCATION --file="request.json"
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
C#
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 Transcoder API C# API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Transcoder API Go API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Transcoder API Java API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Transcoder API Node.js API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 Transcoder API PHP API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Transcoder API Python API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Transcoder API Ruby API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
샘플 동영상에서 이 구성을 사용하여 다음 스프라이트 시트를 생성합니다.
그림 1. 작은 이미지 스프라이트 시트(미리보기 이미지 100개)
그림 2. 큰 이미지 스프라이트 시트(미리보기 이미지 100개)
정기적으로 미리보기 이미지 생성
다음 구성에서는 작은 이미지의 스프라이트 시트와 큰 이미지의 스프라이트 시트를 생성합니다. 각 스프라이트 시트에는 입력 동영상에서 7초마다 생성된 미리보기 이미지가 포함됩니다. 스프라이트 시트에는 작업 구성에 하나 이상의 VideoStream
이 필요합니다.
이 구성을 작업 템플릿에 추가하거나 임시 작업 구성에 포함할 수 있습니다.
REST
요청 데이터를 사용하기 전에 다음을 바꿉니다.
PROJECT_ID
: IAM 설정에 나열된 Google Cloud 프로젝트 ID입니다.LOCATION
: 작업이 실행될 위치입니다. 지원되는 리전 중 하나를 사용합니다.위치 표시us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
STORAGE_BUCKET_NAME
: 만든 Cloud Storage 버킷의 이름입니다.STORAGE_INPUT_VIDEO
: Cloud Storage 버킷에 있는 트랜스코딩하는 동영상의 이름입니다(예:my-vid.mp4
). 이 필드는 버킷에서 만든 폴더(예:input/my-vid.mp4
)를 고려해야 합니다.STORAGE_OUTPUT_FOLDER
: 인코딩된 동영상 출력을 저장할 Cloud Storage 폴더 이름입니다.
요청을 보내려면 다음 옵션 중 하나를 펼칩니다.
다음과 비슷한 JSON 응답이 표시됩니다.
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
gcloud
- 작업 필드를 정의하는
request.json
파일을 만듭니다.gcloud
명령어를 다음과 같이 바꿉니다.- STORAGE_BUCKET_NAME: 만든 Cloud Storage 버킷의 이름입니다.
- STORAGE_INPUT_VIDEO: Cloud Storage 버킷에 있는 트랜스코딩하는 동영상의 이름입니다(예:
my-vid.mp4
). 이 필드는 버킷에서 만든 폴더(예:input/my-vid.mp4
)를 고려해야 합니다. - LOCATION: 작업이 실행될 위치입니다. 다음 목록의 위치를 사용합니다.
위치 표시
us-central1
us-west1
us-west2
us-east1
us-east4
southamerica-east1
northamerica-northeast1
asia-east1
asia-northeast1
asia-northeast3
asia-south1
asia-southeast1
australia-southeast1
europe-west1
europe-west2
europe-west4
- STORAGE_OUTPUT_FOLDER: 인코딩된 동영상 출력을 저장할 Cloud Storage 폴더 이름입니다.
{ "config": { "inputs": [ { "key": "input0", "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_INPUT_VIDEO" } ], "elementaryStreams": [ { "key": "video-stream0", "videoStream": { "h264": { "heightPixels": 360, "widthPixels": 640, "bitrateBps": 550000, "frameRate": 60 } } }, { "key": "audio-stream0", "audioStream": { "codec": "aac", "bitrateBps": 64000 } } ], "muxStreams": [ { "key": "sd", "container": "mp4", "elementaryStreams": [ "video-stream0", "audio-stream0" ] } ], "output": { "uri": "gs://STORAGE_BUCKET_NAME/STORAGE_OUTPUT_FOLDER/" }, "spriteSheets": [ { "filePrefix": "small-sprite-sheet", "spriteHeightPixels": 32, "spriteWidthPixels": 64, "interval": "7s" }, { "filePrefix": "large-sprite-sheet", "spriteHeightPixels": 72, "spriteWidthPixels": 128, "interval": "7s" } ] } }
- 다음 명령어를 실행합니다.
다음과 비슷한 응답이 표시됩니다.gcloud transcoder jobs create --location=LOCATION --file="request.json"
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/jobs/JOB_ID", "config": { ... }, "state": "PENDING", "createTime": CREATE_TIME, "ttlAfterCompletionDays": 30 }
C#
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 C# 설정 안내를 따르세요. 자세한 내용은 Transcoder API C# API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Go
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 Go 설정 안내를 따르세요. 자세한 내용은 Transcoder API Go API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Java
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 Java 설정 안내를 따르세요. 자세한 내용은 Transcoder API Java API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Node.js
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 Node.js 설정 안내를 따르세요. 자세한 내용은 Transcoder API Node.js API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
PHP
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 PHP 설정 안내를 따르세요. 자세한 내용은 Transcoder API PHP API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Python
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 Python 설정 안내를 따르세요. 자세한 내용은 Transcoder API Python API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
Ruby
이 샘플을 사용해 보기 전에 Transcoder API 빠른 시작: 클라이언트 라이브러리 사용의 Ruby 설정 안내를 따르세요. 자세한 내용은 Transcoder API Ruby API 참고 문서를 확인하세요.
Transcoder API에 인증하려면 애플리케이션 기본 사용자 인증 정보를 설정합니다. 자세한 내용은 로컬 개발 환경의 인증 설정을 참조하세요.
샘플 동영상에서 이 구성을 사용하여 다음 스프라이트 시트를 생성합니다.
그림 3. 작은 이미지 스프라이트 시트(7초마다 미리보기 이미지 1개 생성)
그림 4. 큰 이미지 스프라이트 시트(7초마다 미리보기 이미지 1개 생성)
길이가 60초인 샘플 동영상에서 미리보기 이미지 8개가 생성됩니다.