soporte Contactar con Soporte | Estadoestado del sistema del sistema
Contenido de la página

    Salida condicional

    En este tema, aprenderá a crear salidas condicionales en un perfil de ingesta personalizado omitiendo copias si el archivo de origen no cumple ciertas condiciones.

    Limitaciones

    ¿Por qué omitir copias?

    Omitir copias es útil si los vídeos de origen que ingerir varían ampliamente en calidad. Esto suele ocurrir, por ejemplo, en las organizaciones de noticias que utilizan vídeo capturado por teléfonos u otros dispositivos en el campo.

    Sin salidas condicionales, el sistema de ingesta dinámica creará exactamente tantas copias como se especifica en el perfil.

    Por ejemplo, supongamos que ingeres un vídeo de baja calidad (velocidad de bits de vídeo de alrededor de 820 kbps) utilizando un perfil que incluye las siguientes representaciones de vídeo incondicionales.

    Rendiciones de vídeo
    Formato Tasa de bits para audio Tasa de bits para vídeo
    mp4 64 450
    mp4 96 900
    mp4 128 1 700
    HLS 64 450
    HLS 96 700
    HLS 96 900
    HLS 96 1200
    HLS 128 1 700
    HLS 128 2000

    Las representaciones resultantes en Studio se verían algo como esto:

    Rendiciones para vídeo de baja calidad
    Rendiciones para vídeo de baja calidad

    Tenga en cuenta que las tres últimas representaciones HLS (resaltadas) son idénticas en velocidad de bits y que la velocidad de bits sólo es ligeramente superior a la siguiente mejor copia HLS. También tenga en cuenta que la diferencia en las velocidades de bits para dos mejores representaciones MP4 es pequeña. La razón de esto es que la transcodificación nunca puede mejorar en la velocidad de bits de la fuente, y la fuente aquí tenía una tasa de bits promedio de alrededor de 800 kbps, por lo que las representaciones con velocidades de bits especificadas más altas terminan con algo en ese rango (verá pequeñas diferencias debido a las diferentes formas en que la velocidad de bits promedio es calculado para formatos de vídeo segmentados y no segmentados).

    Las últimas cuatro copias del conjunto, por lo tanto, son esencialmente redundantes, ofreciendo poca o ninguna mejora en la calidad con respecto a las copias de «menor calidad», pero se crean y almacenan de todos modos. Esto se puede evitar mediante el uso de salidas condicionales que impiden que se genere una copia si el origen no coincide con los criterios de calidad especificados.

    Implementación

    Puede agregar un skip objeto a algunas de las copias. El skip objeto contiene una o más condiciones, y si no se cumplen estas condiciones, la copia no se creará.

    Notas sobre el uso

    1. Un perfil de ingesta debe incluir al menos una copia no saltable; si intenta crear un perfil en el que todas las copias sean saltables, recibirá un error.
    2. Debe asegurarse de que se crea al menos una copia para cada tipo de contenido. Por ejemplo:
      • Si crea copias de sólo audio y vídeo, debe tener una copia no saltable para cada
      • Si utiliza DRM, debe tener una representación no saltable para cada formato que funcione con ese tipo DRM (Smooth, HLS, DASH, etc.)

    Sintaxis

    La sintaxis del skip objeto que puede agregar a una especificación de copia es la siguiente:

                "skip": {
                    "condition1": "value1",
                    "condition2": 1300,
                    ...etc
                }

    Ejemplo

                "renditions": [
                    {
                      "media_type": "video",
                      "reference_id": "ts1",
                      "format": "ts",
                      "type": "segmented",
                      "audio_codec": "aac",
                      "audio_bitrate": 96,
                      "video_bitrate": 1200.
                      "video_codec": "h264",
                      "keyframe_rate": 0.5,
                      "max_frame_rate": 30,
                      "width": 1280,
                      "height": 720,
                      "h264_profile": "main",
                      "skip": {
                          "min_video_bitrate": 1000,
                          "min_size": "640x360"
                        }
                    },
                    ... etc
                ]

    Para el perfil (fragmento) anterior, la representación mostrada sólo se creará si el vídeo de origen tiene una velocidad de bits de vídeo de al menos 1000 kbps y un tamaño de fotograma de al menos 640px x 360px.

    Omitir campos

    A continuación se muestran los campos (condiciones) que se pueden utilizar en el skip objeto:

    Omitir campos
    propiedad tipo descripción preajuste
    min_audio_bitrate entero la velocidad de bits mínima de audio que debe tener la fuente (kbps) null
    max_audio_bitrate entero la velocidad de bits máxima de audio que debe tener la fuente (kbps) null
    min_video_bitrate entero la velocidad de bits mínima de vídeo que debe tener la fuente (kbps) null
    max_video_bitrate entero la velocidad de bits máxima de vídeo que debe tener la fuente (kbps) null
    require_audio Booleano la fuente debe incluir una pista de audio null
    require_video Booleano la fuente debe incluir una pista de vídeo null
    min_size cadena de la forma «widthxheight» (por ejemplo "400x225") la fuente debe ser al menos esta resolución null
    max_size cadena de la forma «widthxheight» (por ejemplo "1920x1080") la fuente debe ser como máximo esta resolución null