À propos du projet
RxPlayer est un moteur de lecteur multimédia JavaScript open-source pour les navigateurs et environnements similaires. Il implémente la lecture DASH et Microsoft Smooth Streaming via les API HTML5 Media Source Extensions et Encrypted Media Extensions. HLS, MP4 et WebM peuvent être utilisés en mode fichier direct sur les navigateurs compatibles, comme Safari pour le HLS natif.
Le projet fournit le cœur du streaming et de la lecture plutôt qu'une interface utilisateur finalisée : les applications fournissent leurs propres contrôles et visuels, tandis que RxPlayer gère le chargement du contenu, la logique de débit adaptatif, la gestion des pistes, la mise en mémoire tampon, l'intégration du déchiffrement et les événements de lecture. Une démo en ligne basée sur React et des exemples CodeSandbox sont fournis.
Les capacités documentées incluent le DASH en direct et à la demande, le DASH à faible latence, le Smooth Streaming, la lecture de contenu téléchargé, plusieurs clés et licences DRM, les licences persistantes, le comportement de repli pour les qualités indéchiffrables ou indécodables, et les options configurables de MediaKeySystemConfiguration. Il prend en charge les sous-titres TTML, WebVTT, SAMI et SRT.
RxPlayer est conçu pour la flexibilité d'intégration et les appareils contraints. Sa logique principale peut être déchargée vers un thread séparé, et il expose des API pour la lecture audio uniquement, la sélection de pistes vidéo et audio, le filtrage de qualité, le garbage collection des segments, l'intégration peer-to-peer, la gestion des événements et l'observation détaillée de l'état du lecteur. Les algorithmes adaptatifs utilisent les informations réseau pour le démarrage et les informations de tampon pour la sélection de qualité, tandis que les heuristiques de planification et de décodage visent à réduire les rebufférages et à poursuivre la lecture sur les appareils en difficulté. Un analyseur MPD optionnel basé sur WebAssembly est disponible pour les très grands manifests DASH.
La bibliothèque est publiée sous le nom de package npm "rx-player" et peut être installée avec npm ou Yarn. Une version complète peut être importée directement, ou une version minimale peut être étendue avec uniquement les fonctionnalités requises telles que DASH et EME. Le dépôt contient des liens vers la documentation API, des tutoriels de démarrage, des guides DRM et de sélection de pistes, des démos, des pages de versions et des instructions de contribution.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.