Ir al contenido

Motores de emisión

Motor de remultiplexadoMotor pass-through
Arranque en frío, de la unión al primer paquete~4.4 s~1.9 s
Datagramas completos de 1316 bytes85%100%
CPU por canal~5% de un núcleo~15%
RAM por canal~72 MB~23 MB
Canales en un equipo de 2 GB~1625+
PID e ID de servicioReescritosOriginales, conservados
Pistas de audio entregadasUnaTodas, con etiquetas de idioma ISO-639
Subtítulos y teletextoSe descartanSe transmiten
Pérdida de paquetes en la fuenteOcultaNotificada fielmente
Relleno a tasa de bits constanteSíNo
Fuente HLS fMP4/CMAFSíNo

El motor pass-through es el predeterminado y es la respuesta correcta para casi todo. Usa alrededor de un tercio de la memoria, que es lo que determina el número de canales en un equipo de 2 GB; muestra la primera imagen en aproximadamente la mitad de tiempo, que es lo que el espectador percibe como velocidad de cambio de canal; cada datagrama que envía tiene los 1316 bytes completos; y cada idioma de audio de la fuente llega al televisor con su etiqueta de idioma intacta. Hace menos, y precisamente por hacer menos lo hace mejor.

Elija el motor de remultiplexado cuando se cumpla una de estas condiciones:

  • El servidor de origen HLS publica segmentos fMP4/CMAF. El lector HLS del motor pass-through solo admite segmentos MPEG-TS. No es configurable.
  • La fuente es RTMP. El motor pass-through no admite RTMP en absoluto.
  • Un equipo aguas abajo exige tasa de bits constante en la salida UDP. Solo el motor de remultiplexado puede rellenar el flujo con paquetes nulos hasta una tasa fija. Algunos descodificadores antiguos y algunos moduladores de RF lo necesitan; la mayoría de los equipos modernos, no.

Su mayor consumo de CPU es real, pero rara vez es la restricción determinante: en estos equipos se agota antes la memoria. Planifique la capacidad en función de la RAM.

Por qué el motor de remultiplexado entrega una sola pista de audio

Section titled “Por qué el motor de remultiplexado entrega una sola pista de audio”

El motor pass-through no demultiplexa, de modo que cada PID de audio de la fuente —junto con la PMT original y sus descriptores de idioma ISO-639— llega intacto aguas abajo. El espectador puede elegir un idioma en el televisor porque el televisor ve que esos idiomas están ahí.

El motor de remultiplexado construye un transport stream nuevo. Su lista de argumentos copia el audio en lugar de recodificarlo, pero no define ningún mapeo explícito de flujos, así que se aplica la selección de flujos por defecto: un flujo de vídeo, un flujo de audio y todo lo demás se descarta. La pista que obtiene es la que la fuente señala como mejor candidata, y es la única.

Transportar todas las pistas de audio está a una sola opción de distancia, y deliberadamente no se activa. Aumentaría la tasa de bits de salida de todos los canales —las pistas de audio son pequeñas, pero una señal en seis idiomas no sale gratis en un múltiplex— y cambiaría el flujo transmitido de todos los canales ya en servicio, algo que no debe hacerse de forma global en un equipo que alguien puso en servicio el año pasado. Una activación opcional por canal está prevista.

Por qué el motor de remultiplexado oculta la pérdida en la fuente

Section titled “Por qué el motor de remultiplexado oculta la pérdida en la fuente”

Construir un transport stream nuevo implica volver a numerar los contadores de continuidad. Por tanto, cada paquete que sale del equipo lleva una secuencia de contadores correcta y sin saltos, independientemente de lo que haya llegado. Los huecos introducidos aguas arriba —por el origen, por el trayecto en internet, por un codificador inestable— se vuelven invisibles en cuanto pasan por él.

En producción esto es útil, porque un analizador aguas abajo deja de dar alarmas por averías sobre las que no puede actuar. Durante la investigación de una avería, en cambio, resulta claramente engañoso. Si intenta determinar si una señal de aguas arriba está perdiendo paquetes, pase primero el canal al motor pass-through; de lo contrario estará midiendo la calidad de su propia reparación y no la de la señal.

El motor pass-through notifica la pérdida fielmente por el mismo motivo por el que conserva los PID y el audio: no reconstruye nada.

Los fotogramas por segundo, la velocidad de reproducción y la tasa de bits que informa el codificador se leen de la propia salida de progreso del motor de remultiplexado. El motor pass-through nunca descodifica vídeo, así que no conoce la tasa de fotogramas ni tiene concepto de velocidad de reproducción. Esas cifras no existen para él.

En un canal pass-through esas casillas muestran n/a. Es correcto y esperado; no es una avería ni indica que el canal esté mal.

La señal independiente del motor es la tasa de bits en el cable, medida por captura de paquetes en la interfaz de salida. Es la única medida de actividad que funciona igual con ambos motores, mide lo que realmente salió por el puerto de red y no lo que un proceso afirma haber enviado, y es la que merece confianza. Consulte Monitorización y métricas.

Con el motor pass-through, el nombre del canal se escribe en la SDT del flujo de salida, de modo que un televisor que explore el grupo multicast o el múltiplex DVB-C muestra el nombre que usted configuró y no el que el origen hubiera incrustado.

El motor de remultiplexado no transmite el nombre del servicio. Un canal con el motor de remultiplexado presentará el nombre de servicio que resulte del remultiplexado, que por lo general no es el nombre que figura en la interfaz de Castmux. Si importa el nombre que se muestra en el televisor —y en un hotel o un hospital suele importar—, es un motivo para preferir el motor pass-through.

Hay dos niveles:

Valor global por defecto

Se define en Settings. Se aplica a todos los canales que no lo anulan, incluidos los que se añadan más tarde.

Anulación por canal

Se define en el canal. Úsela para las excepciones: el origen fMP4, la señal RTMP del codificador local, el único canal cuyo modulador aguas abajo exige tasa de bits constante.

Un canal sin anulación muestra el valor heredado, marcado como heredado, de modo que siempre se ve si el motor mostrado se eligió para ese canal o sigue el ajuste global. Cambiar el valor global por defecto cambia a la vez todos los canales que lo heredan; los canales con anulación no se ven afectados.