Cómo convertir un video de entrada a HDR

En esta página, se explica cómo convertir el video de entrada en un trabajo de transcodificación en un formato de alto rango dinámico (HDR) o rango dinámico estándar (SDR) compatible. El La API de Transcoder usa codificación de video de alta eficiencia (HEVC) como códec para la conversión de color. Si no lo haces, la transferencia estará habilitada de forma predeterminada especificar un formato de conversión de color.

Formatos de conversión de color

El HEVC es el códec principal que se utiliza para los formatos de conversión de color compatibles, que incluyen lo siguiente:

  • Log-gamma híbrida (HLG)
  • SDR
  • HDR10

Solo se admiten las transmisiones H.264 y VP9. Se admiten todas las conversiones entre el códec compatible y los formatos de color anteriores.

Transferencia

La transferencia está habilitada de forma predeterminada si no especificas una conversión de color de un conjunto de datos tengan un formato común.

Para la transferencia, la API de Transcoder respeta los colores primarios de entrada, función de transferencia, rango, ubicación de croma y espacio de color; sin conversión de color se lleva a cabo en el proceso. Si la entrada es HDR10 (o HDR10+) y HEVC, el La API de Transcoder también pasa los metadatos al video de salida.

Si especificas un códec de salida que no es compatible con el formato de color de la entrada, la transferencia es el mejor esfuerzo. Por ejemplo, un video HDR10 de entrada tiene opciones de 10 bits para profile y pixelFormat. Si especifica la salida como H.265 con una opción de 8 bits para profile. el resultado no es un video HDR10 válido porque esa tecnología no funciona con un formato de opción para profile.

Ejemplos de conversiones

Para especificar el formato de conversión de color, usa un objeto hlg, hdr10 o sdr vacío. En las siguientes secciones, se muestra Un objeto JSON para agregar a un elemento VideoStream a fin de realizar un determinado conversión.

Cómo convertir a formato HLG

Usa el objeto hlg para convertir un video de entrada en formato HLG.

"elementaryStreams": [
  {
    "key": "video_hlg",
    "videoStream": {
      "h264": {
        "heightPixels": 720,
        "widthPixels": 1280,
        "bitrateBps": 5000000,
        "frameRate": 25,
        "hlg":{}
    }
  }
]

Convertir a formato HDR10

Usa el objeto hdr10 para convertir un video de entrada al formato HDR10.

"elementaryStreams": [
  {
    "key": "video_hdr10",
    "videoStream": {
      "h265": {
        "heightPixels": 720,
        "widthPixels": 1280,
        "bitrateBps": 5000000,
        "frameRate": 25,
        "pixelFormat":"yuv420p10",
        "profile":"main10",
        "hdr10":{}
    }
  }
]

Subconvertir a formato SDR

Usa el objeto sdr para convertir un video de entrada en formato SDR.

"elementaryStreams": [
  {
    "key": "video_sdr",
    "videoStream": {
      "h264": {
        "heightPixels": 720,
        "widthPixels": 1280,
        "bitrateBps": 5000000,
        "frameRate": 25,
        "sdr":{}
    }
  }
]

Posibles errores

Si la API de Transcoder no puede realizar la conversión, el trabajo de transcodificación falla. Entre los errores posibles, se incluyen los siguientes:

  • Conversión al formato HDR10 con perfiles o formatos de píxeles de 8 bits
  • Las entradas de SDR que no cumplen con BT.709