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.
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:
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
- 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.
- 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:
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 |