이 페이지에서는 트랜스코딩 작업의 입력 동영상을 지원되는 High Dynamic Range(HDR) 또는 Standard Dynamic Range(SDR) 형식으로 변환하는 방법을 설명합니다. Transcoder API는 색상 변환을 위한 기본 코덱으로 High-Efficiency Video Coding(HEVC)을 사용합니다. 색상 변환 형식을 지정하지 않으면 패스 스루가 기본적으로 사용 설정됩니다.
색상 변환 형식
HEVC는 다음을 포함하여 지원되는 색상 변환 형식에 사용되는 기본 코덱입니다.
- Hybrid Log-Gamma(HLG)
- SDR
- HDR10
H.264 및 VP9 스트림의 경우 HLG 및 SDR만 지원됩니다. 지원되는 코덱과 앞의 색상 형식 간의 모든 변환이 지원됩니다.
패스 스루
색상 변환 형식을 지정하지 않으면 패스 스루가 기본적으로 사용 설정됩니다.
패스 스루의 경우 Transcoder API에 입력 색상 기본, 전달 함수, 범위, 크로마 위치, 색상 공간을 보존합니다. 이 과정에서 색상 변환은 수행되지 않습니다. 또한 입력이 HDR10(또는 HDR10+) 및 HEVC이면 Transcoder API가 출력 동영상으로 메타데이터를 전달합니다.
입력의 색상 형식을 지원하지 않는 출력 코덱을 지정하는 경우 패스 스루가 최선입니다. 예를 들어 입력 HDR10 동영상에는 profile
및 pixelFormat
에 대한 10비트 옵션이 있습니다. profile
에 대한 8비트 옵션으로 출력을 H.265로 지정하는 경우 HDR10이 profile
의 8비트 옵션으로 작동하지 않기 때문에 출력이 유효한 HDR10 동영상이 아닙니다.
변환 예시
색상 변환 형식을 지정하려면 비어 있는 hlg
, hdr10
, sdr
객체를 사용합니다. 다음 섹션에서는 지정된 변환을 수행하기 위해 VideoStream
에 추가할 JSON 객체를 보여줍니다.
HLG 형식으로 변환
hlg
객체를 사용하여 입력 동영상을 HLG 형식으로 변환합니다.
"elementaryStreams": [
{
"key": "video_hlg",
"videoStream": {
"h264": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"hlg":{}
}
}
]
HDR10 형식으로 변환
hdr10
객체를 사용하여 입력 동영상을 HDR10 형식으로 변환합니다.
"elementaryStreams": [
{
"key": "video_hdr10",
"videoStream": {
"h265": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"pixelFormat":"yuv420p10",
"profile":"main10",
"hdr10":{}
}
}
]
SDR 형식으로 하향 변환
sdr
객체를 사용해서 입력 동영상을 SDR 형식으로 하향 변환합니다.
"elementaryStreams": [
{
"key": "video_sdr",
"videoStream": {
"h264": {
"heightPixels": 720,
"widthPixels": 1280,
"bitrateBps": 5000000,
"frameRate": 25,
"sdr":{}
}
}
]
발생 가능한 오류
Transcoder API가 변환을 수행할 수 없으면 트랜스코딩 작업이 실패합니다. 가능한 오류는 다음과 같습니다.
- 8비트 픽셀 형식 또는 프로필을 사용해서 HDR10 형식으로 변환
- BT.709를 준수하지 않는 SDR 입력