La importancia de los metadatos en un sistema de analítica no se puede sobreestimar. Dan contexto a los detalles del comportamiento del cliente y a las mediciones de calidad, y hacen posible crear agregados relevantes en el sistema, para entender los datos de medición en distintos contextos.
Una de las categorías importantes de metadatos en el sistema son los metadatos relacionados con el nombre del activo para los activos de video consumidos. Estos datos incluyen la especificación live/VoD, el nombre del canal, el nombre del activo VoD y el nombre del servicio al que pertenece el activo.
Por ejemplo, live/CNN/free channels o VoD/Citizen Kane/nPVR.
Tener metadatos correctos sobre los activos hace posible comprender la popularidad de los servicios y del contenido por proveedor, así como la calidad de experiencia por servicio o canal y, por lo tanto, identificar activos VoD problemáticos.
Asegúrate de que los metadatos sean correctos
El proceso de certificación de integración de Agama normalmente garantiza que los metadatos correctos sean proporcionados por la integración, pero hay varias razones por las que un sistema puede poblarse con información incorrecta.
Un dispositivo antiguo en fin de vida útil con una integración parcial no puede actualizarse cuando hay cambios en el backend; o la información correcta no está disponible para la aplicación al hacer la integración, por nombrar algunas. Por esta razón, el sistema Agama provee un mecanismo avanzado para sacar el máximo provecho de los metadatos disponibles desde la integración del dispositivo y desde fuentes externas.
Limpieza del nombre del activo (asset name washing)
El principio básico del mecanismo de washing es el siguiente:
- Usar el URI para categorizar una sesión
- Opcionalmente dejar pasar las sesiones que tienen los metadatos especificados, si la información del dispositivo es la fuente preferida
- Extraer del URI el nombre del activo y la especificación del nombre del servicio
- Opcionalmente sobrescribir el flag live/VoD
- Mapear nombres de canal a URIs a partir de fuentes externas de inventario, como un inventario de nombres de canal
La imagen siguiente ilustra los pasos que el sistema sigue cuando el washing de metadatos está configurado.

Configuración práctica
Para entender cómo se hace la configuración, aquí va un ejemplo. Los fragmentos del archivo yaml son parte del archivo data-transformation.yaml, que es parte de la configuración del servicio RTN y debe ser idéntico en todos los nodos.
En este sistema concluimos que las integraciones reportan nombres de activo y especificación live/VoD incorrectos. Por eso, elegimos descartar la información establecida por los dispositivos y crear nuevos metadatos a partir del URI de la sesión.
Primero, especificamos que queremos crear nuevos metadatos sin tener en cuenta la integración.
prefer-asset-id-from-uri: true
Después, procedemos a especificar las reglas para crear los metadatos necesarios.
Las reglas
La primera regla en orden de prioridad busca hacer match con todas las sesiones en vivo y sobrescribir los metadatos de asset-name y live/VoD provenientes del cliente.

- una priority mayor se ejecuta primero, mientras que el flag enabled activa la regla
- la parte match de la regla compara con el URI de la sesión para decidir si la regla debe aplicarse
- la parte asset extrae una parte del URI para un mapeo posterior con el archivo externo, ya que esta regla es para canales en vivo
- la parte type, si está presente, sobrescribe la especificación live/VoD que viene del cliente
- la sección server extrae el nombre o IP del servidor para agregados basados en servidor
La siguiente regla en orden de prioridad busca hacer match con todas las sesiones VOD y, en función del URI, llamarlas PLTV-<assetid> o TVOD-<assetid>.

- la mayor parte de la especificación funciona exactamente igual que en la regla anterior
- la especificación asset replace es nueva. Extrae grupos del URI y crea un nombre de activo basado en los substrings del URI
La regla final, ejecutada al final, busca capturar cualquier URI inesperado que no haya hecho match con ninguna regla anterior. No esperamos llegar aquí, pero es una buena protección para no crear accidentalmente decenas de miles de agregados por error.

Mapeo del archivo
Después de aplicar las reglas regex, el sistema intentará opcionalmente mapear los resultados de salida del regex con una lista de mapeos proporcionada en un archivo csv.
Configuración para habilitar esta función:

Esta configuración te permite especificar el archivo de mapeo, la presencia de una cabecera en el archivo y los nombres de las columnas a usar para la coincidencia, así como la columna de resultado. Poder especificar las columnas te permite usar archivos csv que tienen más columnas de las necesarias y, a veces, ahorra al administrador el trabajo de modificar un archivo que ya está disponible desde un inventario interno.
En resumen
En conclusión, hay varios temas a considerar para limpiar los metadatos relacionados con los activos y obtener información consistente y correcta en el sistema:
- Tener los nombres de canal correctos disponibles en el sistema
- Mantener la especificación correcta del tipo de playlist
- Que los usuarios puedan diferenciar entre activos PLTV y TVOD en el sistema
- Los cambios en el backend no correrán el riesgo de crear cantidades excesivas de datos en el sistema gracias a una regla «catch all».
Esto es todo lo necesario para tener agregados consistentes en tu sistema e identificar fácilmente los activos VoD problemáticos.
Sobre Aner Gusic
Aner es Senior Engineer y Product Expert, centrado en el éxito del cliente y en proyectos de desarrollo de producto, para ofrecer soluciones profesionales de analítica y monitoreo de video. Aner tiene más de 15 años de experiencia en la industria IT y telco, trabajando tanto en posiciones técnicas como de liderazgo.
