tencent cloud

Video on Demand

릴리스 노트 및 공지 사항
릴리스 노트
제품 소개
제품 개요
Product Features
제품 기능
제품 장점
시나리오
솔루션
구매 가이드
과금 개요
과금 방식
구매 가이드
청구서 조회
연장 안내
연체 안내
환불 안내
시작하기
콘솔 가이드
콘솔 소개
서비스 개요
애플리케이션 관리
미디어 관리
리소스 패키지 관리
License Management
사례 튜토리얼
미디어 업로드
VOD 미디어 파일을 스마트 콜드 스토리지하는 방법
비디오 처리
배포 및 재생
이벤트 알림 수신 방법
원본 서버 마이그레이션 방법
라이브 방송 녹화
사용자 지정 Origin-pull을 수행하는 방법
라이브 방송 하이라이트 클리핑을 VOD에 통합하기 위한 가이드
EdgeOne을 사용하여 VOD 콘텐츠 배포하는 방법
개발 가이드
미디어 업로드
미디어 처리
비디오 AI
이벤트 알림
비디오 재생
미디어 파일 다운로드
서브 애플리케이션 시스템
오류 코드
플레이어 SDK 문서
Overview
Basic Concepts
Features
Free Demo
Free Trial License
Purchase Guide
SDK Download
Licenses
Player Guide
Integration (UI Included)
Integration (No UI)
Advanced Features
API Documentation
Player Adapter
Player SDK Policy
FAQs
모바일 재생
요금
비디오 업로드
비디오 배포
비디오 재생
Web 재생
전체 화면 재생
데이터 통계
액세스 관리
미디어 자산 콜드 스토리지
Agreements
Service Level Agreement
VOD 정책
개인 정보 보호 정책
데이터 처리 및 보안 계약
문의하기
용어집

화면 캡처

PDF
포커스 모드
폰트 크기
마지막 업데이트 시간: 2023-10-26 17:39:31
화면 캡처는 특정 시점에서 비디오의 스크린샷을 캡처하는 오프라인 작업입니다. VOD는 다음과 같은 유형의 스크린샷을 제공합니다.
지정 시점 화면 캡처: 일정 시점을 지정하면 비디오의 해당 시점 화면을 캡처합니다.
샘플링 화면 캡처: 동일한 시간 간격으로 비디오의 여러 화면을 캡처합니다.
커버 스크린샷: VOD는 지정된 시점의 비디오 스크린샷을 캡처하고 해당 URL을 미디어 자산 관리 시스템의 비디오 커버로 사용할 수 있습니다.
이미지 스프라이트: VOD는 지정된 시간 간격으로 비디오(서브 이미지)의 스크린샷 세트를 캡처하고 함께 연결하여 큰 이미지(즉, 이미지 스프라이트)를 생성할 수 있습니다.
화면 캡처 기능은 다음 애플리케이션 시나리오 니즈를 충족할 수 있습니다.
동영상 커버 생성: 동영상의 스크린샷을 커버로 사용할 수 있습니다.
썸네일: 이미지 스프라이트는 일반적으로 비디오 개요를 나타내는 데 사용되는 여러 서브 이미지(즉, 썸네일)로 구성된 큰 이미지입니다.
재생 미리보기: VTT 파일과 함께 이미지 스프라이트를 사용하여 플레이어 진행률 표시줄에서 미리보기 효과를 얻을 수 있습니다.

화면 캡처 템플릿

스크린샷의 대상 규격은 스크린샷 파일 형식, 너비 및 높이와 같은 매개변수의 영향을 받으며 아래와 같이 VOD 화면 캡처 템플릿 형태로 사용자 정의할 수 있습니다.

시점 화면 캡처 템플릿

시점 화면 캡처 템플릿은 ‘지정된 시점의 스크린샷’을 찍거나 ‘스크린샷을 커버’로 찍을 때 사용합니다.
매개변수
설명
포맷(Format)
화면 캡처 파일의 출력 포맷으로 현재 JPG만 지원.
폭(Width)
캡처 화면의 폭으로 128px - 4096px까지 지원.
높이(Height)
캡처 화면의 높이로 128px - 4096px까지 지원.
채우기 방식(FillType)
캡처 화면의 폭/높이 비율이 원본 비디오와 불일치할 경우, 캡처 화면을 '채우기' 방식으로 처리합니다. 일반적으로 다음과 같은 채우기 방식이 있습니다.
늘이기: 이미지를 늘려 이미지 전체를 채웁니다. 이미지가 '찌그러지거나' '길게 늘어날' 수 있습니다.
검은 테두리 남기기: 이미지의 폭/높이 비율을 유지하고 테두리의 남는 부분을 검은색으로 채웁니다.
흰 테두리 남기기: 이미지의 폭/높이 비율을 유지하고 테두리의 남는 부분을 흰색으로 채웁니다.
가우시안 블러: 이미지의 폭/높이 비율을 유지하고 테두리의 남는 부분을 가우시안 블러로 채웁니다.
VOD는 일반 규격에 대해 사전 설정 매개변수 템플릿을 제공합니다. 또한 콘솔에서 사용자 정의 화면 캡처 템플릿을 만들고 관리할 수도 있습니다. 자세한 내용은 템플릿 설정을 참고하십시오.

샘플링 화면 캡처 템플릿

샘플링된 스크린샷 캡처 템플릿은 샘플링된 스크린샷을 찍는 데 사용됩니다.
매개변수
설명
포맷(Format)
화면 캡처 파일의 출력 포맷으로 현재 JPG만 지원.
폭(Width)
캡처 화면의 폭으로 128px - 4096px까지 지원.
높이(Height)
캡처 화면의 높이로 128px - 4096px까지 지원.
샘플링 방식(SampleType)
샘플링 방식은 두 가지로 나뉩니다.
백분율로 샘플링: 5% 간격으로 샘플링할 경우 캡처 화면 20장 생성.
시간 간격으로 샘플링: 10s 간격으로 샘플링할 경우 캡처되는 화면 수는 비디오 길이에 따라 달라짐.
샘플링 간격(Interval)
샘플링 간격 길이:
백분율로 샘플링할 경우 간격은 백분율.
시간 간격으로 샘플링할 경우 간격은 초.
채우기 방식(FillType)
캡처 화면의 폭/높이 비율이 원본 비디오와 불일치할 경우, 캡처 화면을 '채우기' 방식으로 처리합니다. 일반적으로 다음과 같은 채우기 방식이 있습니다.
늘이기: 이미지를 늘려 이미지 전체를 채웁니다. 이미지가 '찌그러지거나' '길게 늘어날' 수 있습니다.
검은 테두리 남기기: 이미지의 폭/높이 비율을 유지하고 테두리의 남는 부분을 검은색으로 채웁니다.
흰 테두리 남기기: 이미지의 폭/높이 비율을 유지하고 테두리의 남는 부분을 흰색으로 채웁니다.
가우시안 블러: 이미지의 폭/높이 비율을 유지하고 테두리의 남는 부분을 가우시안 블러로 채웁니다.
VOD는 일반 규격에 대해 사전 설정 샘플링 화면 캡처 템플릿을 제공합니다. 또한 콘솔에서 사용자 정의 화면 캡처 템플릿을 만들고 관리할 수도 있습니다. 자세한 내용은 템플릿 설정을 참고하십시오.

스프라이트 이미지 템플릿

이미지 스프라이트 생성 템플릿은 스크린샷을 찍고 결합하여 ‘이미지 스프라이트를 생성’하는 데 사용됩니다.
매개변수
설명
포맷(Format)
스프라이트 이미지 파일의 출력 포맷으로 현재 JPG만 지원.
작은 이미지의 폭(Width)
스프라이트 이미지 내 작은 이미지의 폭.
작은 이미지의 높이(Height)
스프라이트 이미지 내 작은 이미지의 높이.
작은 이미지의 행 수(Rows)
큰 이미지 내 작은 이미지의 행 수.
작은 이미지의 열 수(Columns)
큰 이미지 내 작은 이미지의 열 수.
샘플링 방식(SampleType)
작은 이미지의 샘플링 방식은 현재 시간 간격만 지원.
샘플링 간격(Interval)
작은 이미지의 샘플링 간격은 작은 이미지를 샘플링하는 시간 간격을 의미.
주의:
Width × Columns는 128px - 4096px 사이여야 합니다(큰 이미지의 폭은 128px - 4096px 사이).
Height × Rows는 128px - 4096px 사이여야 합니다(큰 이미지의 높이는 128px - 4096px 사이).
VOD는 일반 규격에 대해 사전 설정 매개변수 템플릿을 제공하며, 콘솔에서 사용자 정의 화면 캡처 템플릿을 생성 및 관리할 수도 있습니다. 자세한 내용은 템플릿 설정을 참고하십시오.

작업 시작

화면 캡처 작업을 시작하는 방법에는 ‘서버 API를 통해 직접 시작하는 방법’, ‘콘솔을 통해 직접 시작하는 방법’, ‘업로드 시 실행할 작업 지정’의 세 가지가 있습니다. 자세한 내용은 비디오 처리의 작업 시작을 참고하십시오.
다음은 이러한 방식으로 화면 캡처 작업을 시작하기 위한 내용입니다.
서버 API ProcessMedia를 호출하여 작업 시작: 요청의 MediaProcessTask.SnapshotByTimeOffsetTaskSet 매개변수에 화면 캡처 템플릿의 템플릿 ID를 지정합니다.
콘솔을 통해 비디오 작업 시작: 콘솔에서 태스크 플로우 추가하고, 태스크 플로우에서 대상 스크린샷 사양을 설정한 후, 태스크 플로우를 사용하여 비디오 처리 시작합니다.
서버에서 업로드 시 작업 지정: 콘솔에서 태스크 플로우를 추가합니다. 태스크 플로우에서 대상 스크린샷 사양을 설정하고 업로드 적용 요청에서 이 태스크 플로우를 procedure로 지정합니다.
클라이언트에서 업로드 시 작업 지정: 콘솔에서 태스크 플로우 추가 후, 태스크 플로우에서 대상 스크린샷 사양을 설정하고, 클라이언트 업로드 서명에서 에서 이 태스크 플로우를 procedure 매개변수로 지정합니다.
콘솔을 통해 업로드: 콘솔에 태스크 플로우 추가 후, 태스크 플로우에서 대상 스크린샷 사양을 설정하고, 콘솔을 통해 비디오를 업로드한 후, 업로드 중 비디오 처리를 선택하고, 비디오 업로드 완료 시 이 태스크 플로우를 실행하도록 지정합니다.

결과 가져오기

화면 캡처 작업을 시작한 후 비동기식으로 결과 알림을 기다리거나 동기식으로 작업 쿼리를 수행하여 작업 실행 결과를 얻을 수 있습니다. 다음은 화면 캡처 작업이 시작된 후 일반 콜백 모드에서 결과 알림을 받는 예입니다(null 값이 있는 필드는 생략됨).
{
"EventType":"ProcedureStateChanged",
"ProcedureStateChangeEvent":{
"TaskId":"1256768367-Procedure-2e1af2456351812be963e309cc133403t0",
"Status":"FINISH",
"FileId":"5285890784246869930",
"FileName":"동물의 세계",
"FileUrl":"http://1256768367.vod2.myqcloud.com/xxx/xxx/AtUCmy6gmIYA.mp4",
"MetaData":{
"AudioDuration":60,
"AudioStreamSet":[
{
"Bitrate":383854,
"Codec":"aac",
"SamplingRate":48000
}
],
"Bitrate":1021028,
"Container":"mov,mp4,m4a,3gp,3g2,mj2",
"Duration":60,
"Height":480,
"Rotate":0,
"Size":7700180,
"VideoDuration":60,
"VideoStreamSet":[
{
"Bitrate":637174,
"Codec":"h264",
"Fps":23,
"Height":480,
"Width":640
}
],
"Width":640
},
"MediaProcessResultSet":[
{
"Type":"SnapshotByTimeOffset",
"SnapshotByTimeOffsetTask":{
"Status":"SUCCESS",
"ErrCode":0,
"Message":"",
"Input":{
"Definition":10,
"Definition":[3, 6, 9]
},
"Output":{
"Definition":10,
"PicInfoSet": [
{
"TimeOffset":3,
"Url":"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx1.jpg"
},
{
"TimeOffset":6,
"Url":"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx2.jpg"
},
{
"TimeOffset":9,
"Url":"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx3.jpg"
}
]
}
}
},
{
"Type":"SampleSnapshot",
"SampleSnapshotTask":{
"Status":"SUCCESS",
"ErrCode":0,
"Message":"",
"Input":{
"Definition":10
},
"Output":{
"Definition":10,
"SampleType":"Percent",
"Interval": 10,
"WaterMarkDefinition": [],
"ImageUrlSet":[
"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx1.jpg",
"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx2.jpg",
"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx3.jpg",
"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx4.jpg",
"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx5.jpg",
"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx6.jpg",
"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx7.jpg",
"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx8.jpg",
"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx9.jpg"
]
}
}
},
{
"Type":"ImageSprites",
"ImageSpriteTask":{
"Status":"SUCCESS",
"ErrCode":0,
"Message":"",
"Input":{
"Definition":10
},
"Output":{
"Definition":10,
"Height":80,
"Width":142,
"TotalCount":1,
"ImageUrlSet":[
"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx1.jpg"
],
"WebVttUrl":"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx.vtt"
}
}
},
{
"Type":"CoverBySnapshot",
"CoverBySnapshotTask":{
"Status":"SUCCESS",
"ErrCode":0,
"Message":"",
"Input":{
"Definition":10,
"PositionType":"Time",
"PositionValue":0
},
"Output":{
"CoverUrl":"http://1256768367.vod2.myqcloud.com/xxx/xxx/xxx.jpg"
}
}
}
],
"TasksPriority":0,
"TasksNotifyMode":""
}
}
콜백 결과에서 ProcedureStateChangeEvent.MediaProcessResultSet에는 각각 시점 화면 캡처, 샘플링된 화면 캡처, 이미지 스프라이트 생성 및 커버 생성 작업을 나타내는 SnapshotByTimeOffset, SampleSnapshot, ImageSpritesCoverBySnapshotType 결과가 포함됩니다.

도움말 및 지원

문제 해결에 도움이 되었나요?

피드백