Os códigos-fonte do projeto msd (Multi Stream daemon) foram convertidos para a licença BSD, e o código-fonte foi publicado no GitHub. Anteriormente, apenas uma versão reduzida, msd_lite, estava disponível, enquanto o produto principal era proprietário. Além da alteração de licença, trabalho foi realizado para a portabilidade para a plataforma macOS (previamente suportados FreeBSD e Linux).
O programa msd é destinado à organização de streaming IPTV na rede através do protocolo HTTP. Um servidor pode atender a milhares de clientes simultaneamente. O foco principal é alcançar a máxima performance, bem como oferecer configurações detalhadas que afetam a qualidade da percepção do serviço pelos clientes: velocidade de troca de canais, resistência a falhas de transmissão. A implementação de proxy está no modo 'um para muitos': os dados obtidos através de uma única conexão HTTP podem ser distribuídos a múltiplos clientes conectados.
Características
- Suporte aos protocolos IPv4 e IPv6.
- Analisador de fluxo MPEG2-TS.
- Mudança automática para backup em caso de ausência ou erros na fonte atual.
- Zero Copy on Send (ZCoS) - reduz a sobrecarga de manutenção dos clientes conectados, transferindo toda a tarefa de envio de dados para o núcleo do sistema operacional.
- Suporte para clientes http 'half closed'.
- Recepção de udp-multicast, incluindo rtp, simultaneamente de diferentes interfaces.
- Recepção via tcp-http-get (em um único fluxo e transmissão para múltiplos clientes).
- Desconexão automática das fontes se não houver clientes conectados.
- Uso de diversos algoritmos de controle de congestionamento TCP dependendo da porta pela qual o cliente se conectou e da URL da solicitação do cliente.
- Envio 'inteligente' de cabeçalhos MPEG2-TS para novos clientes.
- Envio instantâneo de dados para um novo cliente a partir do buffer circular, minimizando o tempo de espera para o início da reprodução.
- Envio de quaisquer cabeçalhos http adicionais em solicitações e respostas.
- Modelos de configuração para Stream Hub e fontes de streaming.
- Estatísticas detalhadas para cada conexão TCP, facilitando a identificação de problemas no nível da rede.
Fonte: opennet.ru
