O código-fonte do projeto msd (Multi Stream Daemon) foi convertido para a licença BSD e publicado no GitHub. Anteriormente, apenas uma versão reduzida, msd_lite, era distribuída, enquanto o produto principal era proprietário. Além da mudança de licença, foram realizados trabalhos para portá-lo para a plataforma. macOS (anteriormente compatível com FreeBSD e Linux).
O programa msd foi projetado para organizar a transmissão de streaming de IPTV na rede usando o protocolo HTTP. Um servidor O sistema é capaz de atender milhares de clientes simultaneamente. O foco principal é alcançar o máximo desempenho, além de fornecer configurações refinadas que afetam a experiência do cliente, como a velocidade de troca de canais e a resiliência a falhas de transmissão. O proxy um-para-muitos está implementado: os dados recebidos por meio de uma única conexão HTTP podem ser distribuídos para vários clientes conectados.
Características
- Suporte para protocolos IPv4 e IPv6.
- Analisador de fluxo MPEG2-TS.
- Comutação automática para o sistema de backup em caso de ausência ou erros na fonte atual.
- A tecnologia Zero Copy on Send (ZCoS) reduz a sobrecarga de atendimento a clientes conectados; o kernel do sistema operacional se encarrega de todo o trabalho de envio de dados para o cliente.
- Suporte para clientes HTTP "semifechados".
- Recebimento simultâneo de multicast UDP, incluindo RTP, a partir de diferentes interfaces.
- Recebimento via tcp-http-get (em um fluxo e transmissão para múltiplos clientes).
- Desconexão automática das fontes caso não haja clientes conectados.
- Utilização de diferentes algoritmos de controle de congestionamento TCP dependendo da porta de acesso do cliente e do URL da requisição do cliente.
- Envio inteligente de cabeçalhos MPEG2-TS para novos clientes.
- Envie instantaneamente dados do buffer circular para um novo cliente para minimizar o tempo de espera para o início da reprodução.
- Envio de cabeçalhos HTTP adicionais em solicitações e respostas.
- Modelos de configurações para o Stream Hub e fontes de streaming.
- Estatísticas detalhadas para cada conexão TCP para simplificar a resolução de problemas no nível da rede.
Fonte: opennet.ru
