Sobre o projeto
RxPlayer é um motor de player de mídia JavaScript de código aberto para navegadores e ambientes similares a navegadores. Ele implementa a reprodução de DASH e Microsoft Smooth Streaming através das APIs HTML5 Media Source Extensions e Encrypted Media Extensions. HLS, MP4 e WebM podem ser usados no modo de arquivo direto em navegadores compatíveis, como Safari para HLS nativo.
O projeto fornece o núcleo de streaming e reprodução, em vez de uma interface de usuário finalizada: as aplicações fornecem seus próprios controles e visuais, enquanto o RxPlayer lida com carregamento de conteúdo, lógica de taxa de bits adaptativa, gerenciamento de faixas, buffering, integração de descriptografia e eventos de reprodução. Uma demonstração online baseada em React e exemplos no CodeSandbox são fornecidos.
As capacidades documentadas incluem DASH ao vivo e VoD, DASH de baixa latência, Smooth Streaming, reprodução de conteúdo baixado, múltiplas chaves e licenças DRM, licenças persistentes, comportamento de fallback para qualidades indecifráveis ou indecodificáveis e opções configuráveis de MediaKeySystemConfiguration. Suporta legendas TTML, WebVTT, SAMI e SRT.
O RxPlayer é projetado para flexibilidade de integração e dispositivos com recursos limitados. Sua lógica principal pode ser transferida para uma thread separada, e expõe APIs para reprodução apenas de áudio, seleção de faixas de vídeo e áudio, filtragem de qualidade, coleta de lixo de segmentos, integração peer-to-peer, tratamento de eventos e observação detalhada do estado do player. Algoritmos adaptativos usam informações de rede para inicialização e informações de buffer para seleção de qualidade, enquanto heurísticas de agendamento e decodificação visam reduzir rebuffering e continuar a reprodução em dispositivos com dificuldades. Um analisador MPD opcional baseado em WebAssembly está disponível para manifestos DASH muito grandes.
A biblioteca é publicada como o pacote npm "rx-player" e pode ser instalada com npm ou Yarn. Uma build completa pode ser importada diretamente, ou uma build mínima pode ser estendida com apenas os recursos necessários, como DASH e EME. O repositório fornece links para documentação da API, tutoriais de introdução, guias de DRM e seleção de faixas, demonstrações, páginas de lançamento e instruções de contribuição.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.