Los textos fuente del proyecto msd (Multi Stream daemon) se han traducido a la licencia BSD, y el código fuente se ha publicado en GitHub. Anteriormente, solo se distribuía una versión reducida, msd_lite, y el producto principal era propietario. Además del cambio de licencia, se ha trabajado en el portado a la plataforma macOS (anteriormente se soportaban FreeBSD y Linux).
El programa msd está diseñado para organizar la transmisión en streaming de IPTV a través de la red mediante el protocolo HTTP. Uno servidor puede atender a miles de clientes simultáneamente. Se ha puesto un enfoque principal en lograr la máxima productividad, así como en ofrecer configuraciones detalladas que impactan en la calidad de la experiencia de los clientes: velocidad de cambio de canales, resistencia a fallos de transmisión. Se ha implementado un proxy en modo 'uno a muchos': los datos obtenidos a través de una sola conexión HTTP se pueden distribuir a múltiples clientes conectados.
Características
- Soporte para los protocolos IPv4 e IPv6.
- Analizador de flujo MPEG2-TS.
- Cambio automático a reserva en caso de ausencia o errores en la fuente actual.
- Zero Copy on Send (ZCoS) - reduce la sobrecarga de mantener a los clientes conectados, el núcleo del OS asume toda la tarea de enviar datos al cliente.
- Soporte para clientes http 'half closed'.
- Recepción de udp-multicast, incluido rtp, simultáneamente desde diferentes interfaces.
- Recepción a través de tcp-http-get (en un solo hilo y transmisión a múltiples clientes).
- Desconexión automática de fuentes si no hay clientes conectados.
- Uso de diferentes algoritmos de Control de Congestión TCP dependiendo del puerto al que se conecte el cliente y de la URL de la solicitud del cliente.
- Envío 'inteligente' de encabezados MPEG2-TS a nuevos clientes.
- Envío instantáneo de datos a un nuevo cliente desde el búfer circular, para minimizar el tiempo de espera antes del comienzo de la reproducción.
- Envío de cualquier encabezado http adicional en peticiones y respuestas.
- Plantillas de configuración para Stream Hub y fuentes de flujo.
- Estadísticas detalladas para cada conexión TCP, facilitando la búsqueda de problemas a nivel de red.
Fuente: opennet.ru
