Skip to content

Transcodificación de VOD

Un archivo subido puede servirse tal cual o desplegarse en una escalera de calidades: varios archivos de distinto tamaño y bitrate más un descriptor para el reproductor. Cómo desplegarlo lo define una plantilla de asset; el trabajo en sí es una tarea y se ejecuta en el streamer donde está el original. Las salidas quedan en el mismo asset, junto al original.

Para esto la sección VOD tiene dos pestañas: Plantillas de activos y Tareas. El avance de un asset concreto se ve en su tarjeta; el cuadro general, en el panel de control.

Plantillas de asset

La pestaña Plantillas de activos es el catálogo de escaleras. Las columnas: Nombre, Descripción — las calidades en palabras, por ejemplo 720p H.264, 360p H.264, y Assets — cuántos assets están vinculados a la plantilla.

Plantillas de asset: las escaleras del sistema y las propias

Las plantillas del sistema (mbr-1080, mbr-720, source-like) no se editan ni se eliminan; su única acción es Clonar, que abre el formulario de una plantilla propia con una copia de la escalera. Las plantillas propias tienen Editar y Eliminar; el botón Nueva plantilla abre un formulario con una sola calidad.

Una plantilla vinculada a assets también se puede eliminar: la confirmación indica cuántos son, tras la eliminación los assets quedan sin plantilla y sus archivos no se tocan. La siguiente subida a un asset así ofrece elegir una plantilla de nuevo.

El formulario de la plantilla

El formulario de la plantilla es la escalera, calidad a calidad. Nombre es cómo aparece la plantilla en las listas. Original es qué hacer con el archivo de origen tras el procesamiento: conservar o eliminar tras procesar. Después, las calidades: cada una tiene su resolución (el campo Altura), Códec y Bitrate, y cada calidad es un archivo de salida; el preset del codificador, la longitud del GOP y la estructura de cuadros se definen para toda la escalera. Los botones Añadir calidad ofrecen las resoluciones habituales, Otra… — cualquier resolución, original tal cual — una calidad sin cambio de tamaño. La regla de audio es una para toda la escalera: todas las pistas de audio del original se recodifican a AAC y van a cada salida conservando la etiqueta de idioma, así que los doblajes y traducciones no se pierden.

El formulario de la plantilla: las calidades, qué saldrá de movie.mp4 y los assets con esta plantilla

Los nombres de las salidas no se escriben: se construyen con el nombre del origen y la resolución de la calidad. La ficha Qué saldrá de movie.mp4 a la derecha muestra el resultado para el ejemplo: movie-mp4-720p.mp4, movie-mp4-360p.mp4 y el descriptor movie-mp4.smil. El punto del nombre de origen se convierte en guion, así que movie.mp4 y movie.mkv en un mismo asset producen salidas distintas y no se sobrescriben.

Dos calidades con la misma resolución y el mismo códec no se guardan: es un mismo archivo con dos nombres. Las calidades se distinguen por la resolución.

Debajo está la ficha Activos con esta plantilla: enlaces a las tarjetas de los assets vinculados; a partir de cien, la ficha muestra los primeros cien. Una plantilla creada por API sigue las mismas reglas: el servidor solo acepta una escalera así, por lo que cualquier plantilla se abre en el formulario.

Subir con una plantilla

La plantilla se vincula al asset en la subida: en la vista previa de la subida, junto al nombre del asset nuevo, está el campo Plantilla del activo. Cada archivo de vídeo lleva la marca Por plantilla; sin la marca, el archivo se guarda tal cual, sin tarea. Una subida a un asset con plantilla sigue su plantilla, no hay nada que elegir; un asset sin plantilla ofrece elegirla en la propia vista previa.

La tarea aparece sola en cuanto termina la subida. No hay nada que lanzar a mano.

Tareas

La pestaña Tareas es el registro del trabajo de todos los streamers. Sobre la lista está el resumen por estado: en cola, enviado, en curso, cancelando, error.

Tareas: el resumen, los filtros y una tarea en curso

Las columnas: Tarea — el archivo de origen, el enlace abre la tarjeta de la tarea; Activo — la clave, el enlace abre la tarjeta del asset; Estado; Progreso — el porcentaje y la velocidad respecto al tiempo real; Ejecutor — el streamer y su cola; Intento; Error — en palabras; Creada — cuándo se lanzó la tarea. En una tarea en cola la columna Error indica el motivo de la espera: el streamer no está conectado o no ejecuta tareas, su cola no tiene sitio, un intento falló y se reintentará.

Estados de una tarea:

  • en cola — espera un ejecutor;
  • enviado — aceptada por un streamer, espera su turno allí;
  • en curso — codificando;
  • cancelando — la cancelación se envió al ejecutor, se espera su confirmación;
  • listo;
  • error — se agotaron los intentos o el origen no sirve;
  • cancelado.

Por defecto la lista muestra activas y errores; las tareas terminadas y canceladas se abren con el filtro Estado, y la opción todos muestra el registro completo. El filtro Activo acepta una clave de asset, Nodo — el streamer ejecutor, Restablecer quita todos los filtros.

Acciones de la fila:

  • Cancelar en una tarea en cola la cierra de inmediato; en una tarea en curso la pasa a cancelando hasta que el streamer confirme. En una tarea fallida, Cancelar quita el registro.
  • Reintentar se ofrece en los errores que un nuevo intento puede resolver: el streamer no estaba disponible, se acabó el espacio, el codificador se cayó. Los errores del origen — el archivo no se lee, el formato no es compatible — no se resuelven reintentando, y el botón no aparece.

Las tareas terminadas y fallidas se conservan siete días y luego salen del registro por sí solas. El botón Limpiar las quita antes: aparece con el filtro por listas, con error o canceladas y, tras confirmar, quita todas las tareas de ese estado. Las tareas de un asset eliminado salen junto con él.

La tarjeta de la tarea

La tarjeta de la tarea se abre por el nombre del origen en la lista. La cabecera lleva el archivo, el estado y el enlace Volver a los trabajos.

La tarjeta de una tarea en curso: progreso, fin previsto, detalles

El bloque Progreso — la barra de avance, Procesado respecto a la duración del archivo, Velocidad e Intento. El bloque Detalles — la plantilla, qué pasa con el original tras el procesamiento, el origen y las salidas; en una tarea fallida aquí está también el mensaje completo del ejecutor. El bloque Resultado aparece cuando al menos una salida está lista y enumera los archivos listos y el descriptor del reproductor. Una tarea en cola muestra el motivo de la espera en lugar del avance. A la derecha, Ejecución — el asset, el ejecutor con su cola y quién creó la tarea, y Cronología — cuándo se creó, se envió y se inició; Fin en una tarea en curso es una estimación por la velocidad actual, marcada con ≈, en una terminada la hora real, y en una fallida o cancelada la fila se llama Detenida. Una tarea cancelada no muestra salidas ni resultado: no produjo nada.

Un asset en proceso

En la tarjeta del asset, el bloque Plantilla del activo muestra la plantilla vinculada. Guardar cambia solo la plantilla y no lanza tareas. Lanzar tarea… abre la elección de originales: los marcados se procesan de nuevo con la plantilla actual y las salidas se regeneran. El enlace Tareas del activo abre el registro filtrado por este asset con todos los estados, incluidas las terminadas; al lado, cuántas de sus tareas están activas y con error.

La tarjeta del asset durante el procesamiento: el original en proceso va primero

Mientras la tarea está en curso, su original va primero en la lista de archivos y está resaltado, y su Eliminar está inactivo: el archivo está en proceso. Al terminar, las salidas y el descriptor quedan en la lista junto al resto de archivos, sin marcas; el descriptor .smil es el punto de entrada del reproductor para toda la escalera.

La tarjeta del asset tras el procesamiento: las salidas y el descriptor junto al original

El panel de control

En el panel de control, la fila Transcodificación de archivos VOD muestra cuántas tareas hay en cola, en curso y con error, y cuántos streamers pueden ejecutarlas; el enlace a las tareas abre el registro. El ejecutor de una tarea concreta es siempre el streamer donde está el original: el archivo no se copia a ningún sitio.

El panel de control: la fila de transcodificación de archivos VOD

Una tarea por API

La consola lanza tareas solo con la plantilla del asset. Una tarea puntual para archivos concretos, con otra plantilla o con un plan propio se lanza por API:

curl -X POST 'http://<central>/central/api-v4/vod/jobs' \
  -H 'Authorization: Bearer <clave>' -H 'Content-Type: application/json' \
  -d '{"asset_id": "<asset id>", "files": ["movie.mp4"], "template_id": "mbr-720"}'
  • files — qué originales procesar; sin el campo, todos los originales del asset.
  • template_id o plan — una plantilla o un plan en la propia petición; no se vincula al asset y la plantilla del asset no cambia.
  • target_asset_id deja las salidas en otro asset, trim corta un fragmento.

Un plan propio no está limitado por la forma de la escalera: su descriptor, los nombres de salida y el conjunto de pistas son libres. Esa tarea aparece en la pestaña Tareas como cualquier otra.

El registro por API — GET /central/api-v4/vod/jobs con los filtros asset_key, status (un estado o varios separados por comas, por ejemplo queued,running) y node; el registro lleva el motivo de la espera como código (wait_reason) y en palabras (reason). DELETE /vod/jobs/{id} en una tarea lista, fallida o cancelada quita el registro; DELETE /vod/jobs?status=error — todos los registros de ese estado.

Qué sigue

  • Subidas de VOD — la vista previa de la subida, el dock y los almacenes.
  • Catálogo VOD — la tarjeta del asset, la reproducción y la eliminación.