Tarjetas de captura¶
La sección Tarjetas de captura responde a las preguntas que antes se resolvían leyendo la configuración a ojo y acercándose al servidor: qué tarjetas hay en las máquinas del clúster, cuántos puertos tienen, qué señal hay en esos puertos, qué stream los ha ocupado ya y si una tarjeta se está recalentando.

Qué se muestra de una tarjeta¶
| Columna | Significado |
|---|---|
| Nodo | el streamer en el que está instalada la tarjeta. La sección muestra el clúster entero |
| Modelo, Número de serie | como los declara la propia tarjeta. El número de serie es la clave con la que se direcciona la tarjeta en la configuración del stream |
| Bus | la dirección PCIe y, debajo, el enlace hasta la tarjeta: ancho y velocidad |
| Firmware | la variante de firmware: es ella la que fija la distribución de los puertos |
| Temperatura, Ventiladores | las lecturas de los sensores de la tarjeta. La sección no aplica umbrales ni juzga si «está caliente» — eso es cosa del sistema de monitorización |
El enlace PCI Express se marca como reducido si la tarjeta está instalada en una ranura con menos líneas de las que ella misma admite. El enlace es común a todos los puertos de la tarjeta, así que fija el límite de ancho de banda para todos a la vez. Un enlace reducido no desactiva ningún puerto: reduce el número de flujos que la tarjeta alcanza a entregar. Un flujo 2160p50 ocupa unos 1,1 GB/s: una ranura x4 Gen 3 transporta unos 3,5 GB/s, es decir, tres flujos así; una ranura x4 Gen 2, la mitad, es decir, uno.
La variante de firmware define cuántos canales tiene la tarjeta, cuáles de ellos son entradas y cuáles salidas, y qué llevan: SDI o ASI. En la captura la DTA-2178 está en la variante «2x (12G-SDI+3G-SDI/ASI) with Genlock»: de sus ocho canales, los puertos 2 y 5 son entradas, los puertos 1 y 6 son salidas y los otros cuatro son salidas internas. Otra variante de firmware distribuiría los mismos ocho conectores de otra manera, así que la dirección de un puerto no se puede deducir de su número. La lista completa de variantes de cada modelo está en la documentación de DekTec.
La variante de firmware no se cambia desde la interfaz: es una reprogramación de la tarjeta con la utilidad de DekTec y un apagado, y durante la reprogramación la captura se detiene en todos los puertos de la tarjeta.
Puertos¶
La fila de una tarjeta se despliega en una tabla de puertos.

El estado de un puerto se nombra con una palabra de un vocabulario cerrado, porque detrás de cada palabra hay una acción distinta del operador:
| Estado | Qué significa | Qué hacer |
|---|---|---|
| no es entrada | la variante de firmware hizo del puerto una salida o un puerto de otro tipo | recolocar el cable o reprogramar la tarjeta |
| libre | puerto de entrada no asignado a ningún stream | se puede asignar |
| asignado a un stream | puerto de entrada nombrado en la configuración aplicada del streamer | nada; el nombre del stream está al lado como enlace |
| lo retiene un proceso colgado | el proceso de captura de ese puerto no terminó ni al cerrarse su entrada estándar ni con SIGKILL |
hay que resolverlo en el host |
| lo retiene un proceso ajeno | por firmware el puerto es entrada, en nuestra tabla está libre o es nuestro, y la captura responde «puerto ocupado» | buscar al que lo retiene desde fuera |
| estado desconocido para esta versión | el streamer es más nuevo que el panel y nombró un estado para el que el panel no tiene palabra | no asignar el stream — el puerto bien puede estar ocupado; actualizar el panel |
En la sección no hay un «ocupado» genérico: cada estado tiene su propia acción, y la tabla la nombra.
Aparte del estado está la dirección. La marca «no puede ser entrada» junto a ella no habla de en qué está ocupado el puerto ahora, sino de que la variante de firmware no lo hizo entrada. Una salida normal no lleva la marca: el firmware puede pasarla a entrada. Una salida interna la lleva siempre: el firmware la entregó a un puerto vecino. Solo una reprogramación cambia esto, véase más arriba.
Dos clases de puerto no reciben señal en absoluto y no siempre tienen conector en el soporte:
- genlock — entrada de referencia: por ella la tarjeta toma la señal de referencia, no la señal a grabar;
- virtual — no hay conector alguno; con él la tarjeta declara su propia referencia libre, es decir el estado «no está atada a nada».
La columna Tipo muestra para qué tipo de señal está configurado el puerto ahora mismo: sd_sdi, hd_sdi, 3g_sdi o 12g_sdi. Es un ajuste, no el límite del puerto: un puerto libre conserva el último valor, y en cuanto se conecta una señal 12G a un puerto con hd_sdi el tipo cambia solo.
La columna Línea dice lo que la tarjeta ve en el puerto ahora mismo:
- resolución y frecuencia — hay señal, y es esta. La letra tras la frecuencia es el nivel de la señal 3G, A o B;
- «sin señal» — un puerto de entrada en el que la tarjeta no ve nada;
- «desconocido» — la tarjeta no informó del estado de la línea. Las salidas, el genlock y el puerto virtual nunca lo tienen, y no significa ausencia de señal.
Si la tarjeta escala la señal por su cuenta (recibe 12G y entrega 3G hacia arriba) o detecta en la línea un tipo de señal distinto de aquel para el que está configurado el puerto, se indica con una nota al lado. Sin esa marca, la discrepancia entre el estándar de la línea y la resolución del stream se lee como un defecto que no existe.
El puerto y el stream se enlazan en ambos sentidos¶
Desde la fila de un puerto sale un enlace a la ficha del stream que lo ha ocupado. El enlace inverso — «Ver en tarjetas de captura» — está en la sección de entrada del stream, junto al campo del número de serie.
Desde ahí mismo se eligen la tarjeta y el puerto: los campos de la sección SDI (DekTec) toman sus valores de ese mismo inventario. Los detalles están en Captura SDI.
La asignación se coteja con el firmware, pero la configuración no se rechaza por ello: tiene que aplicarse tanto antes de instalar la tarjeta como en otro streamer. Un stream asignado a un puerto que según la última instantánea no es una entrada recibe ese hecho en las estadísticas de su entrada. Eso es lo que explica el rechazo «puerto ocupado» sin ningún proceso que retenga el puerto.
Cuando no se ven las tarjetas¶
La sección distingue tres «vacíos» distintos porque las acciones son distintas:
- No hay tarjetas. El sondeo se hizo y en la máquina no había tarjetas. Esos streamers no aparecen en la lista en absoluto.
- Inventario desconocido. El sondeo falló. El streamer se lista en una fila aparte con la causa y la antigüedad del último sondeo que sí salió bien.
- Streamer inaccesible. No hay comunicación con el streamer. También en una fila aparte con su propia causa.
Un sondeo fallido nombra su causa:
- el sondeador no está instalado — el paquete
dektec-bridgeno está en el host; - no llegó a tiempo — el sondeo no terminó dentro del plazo;
- terminó con error — código de salida distinto de cero;
- respondió algo ilegible — no se pudo leer su salida;
- causa desconocida para esta versión — el streamer nombró una causa para la que el panel no tiene palabra.
Los datos los toma dektec_probe, una llamada única y no un demonio: el streamer lo lanza una vez por minuto, lee el JSON de su salida y deja que el proceso termine. El sondeador no abre puertos en absoluto, así que no puede estorbar a la captura. Se instala con el paquete dektec-bridge junto a dektec_ingest; que el paquete no esté en el host es un estado normal, en el que la sección dice «inventario desconocido» en vez de mostrar un parque vacío.
Qué va a la monitorización¶
A Prometheus van tres series: capture_card_info con los datos estáticos de la tarjeta en las etiquetas, capture_card_temperature_celsius y capture_card_fan_rpm. La clave de unión es el número de serie, no la dirección en el bus: una tarjeta se cambia de ranura, y el historial por bus/slot se cortaría aunque la tarjeta sea la misma.
La temperatura y las revoluciones van a la monitorización siempre, no solo cuando los valores son preocupantes: una serie que apareciera solo con el recalentamiento no se distinguiría de la ausencia de datos.
Una tarjeta de refrigeración pasiva no tiene serie de revoluciones en absoluto. No son cero revoluciones: «no hay ventilador» y «el ventilador se ha parado» son cosas distintas y no deben confundirse.
De los puertos no hay series: su estado no cambia entre scrapes y no genera alertas, y el estado de línea de un puerto ocupado ya viaja por el lado del stream.