本页面介绍了如何将转码作业中的输入视频转换为 支持高动态范围 (HDR) 或标准动态范围 (SDR) 格式。通过 Transcoder API 使用高效视频编码 (HEVC) 作为 用于颜色转换的编解码器。如果您未设置此政策 指定颜色转换格式。
颜色转换格式
HEVC 是用于受支持的颜色转换格式的主要编解码器, 包括:
- 混合对数伽马 (HLG)
- SDR
- HDR10
对于 H.264 和 VP9 串流,仅支持 HLG 和 SDR。支持在受支持的编解码器和上述颜色格式之间进行的所有转换。
直通式
如果未指定颜色转换,系统会默认启用 Passthrough 格式。
对于透传模式,Transcoder API 遵循输入原色, 转换函数、范围、色度位置和颜色空间;无颜色转换 都是在这个过程中完成的如果输入是 HDR10(或 HDR10+)和 HEVC,Transcoder API 还会将元数据传递给输出视频。
如果您指定的输出编解码器不支持输入源的颜色格式,
那么直通是尽力而为。例如,一个 HDR10 输入视频具有 10 位
适用于 profile
和 pixelFormat
的选项。如果您
将输出指定为 H.265,并针对 profile
使用 8 位选项;
输出不是有效的 HDR10 视频,因为 HDR10 不支持 8 位
选项(用于 profile
)。
转化示例
如需指定颜色转换格式,请使用空的 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 输入