awesome-repositories.com
Blog
awesome-repositories.com

Descubre los mejores repositorios open-source con nuestra búsqueda potenciada por IA.

ExplorarBúsquedas curadasAlternativas open-sourceSoftware autohospedableBlogMapa del sitio
ProyectoAcerca deCómo clasificamosPrensaServidor MCP
Aviso legalPrivacidadTérminos
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
video-dev avatar

video-dev/hls.js

0
View on GitHub↗
16,767 estrellas·2,745 forks·TypeScript·5 vistashlsjs.video-dev.org/demo↗

Hls.js

hls.js is a JavaScript player library that enables HTTP Live Streaming playback in web browsers using the Media Source Extensions API. It functions as an adaptive bitrate streaming engine and a media streamer that manages the buffering and playback of video segments.

The library features specialized capabilities for low latency streaming and digital rights management, allowing it to decrypt protected content via Encrypted Media Extensions. It includes a metadata processor for handling ID3 tags and date-range elements, as well as a pluggable loader interface to replace default network request logic for peer-to-peer streaming or testing.

The project covers a broad range of playback management areas, including adaptive quality adjustment, buffer eviction, and state-based error recovery. It also handles media accessibility through caption and subtitle rendering, media track switching, and the tracking of playback metrics and frame drops.

Features

  • Adaptive Streaming Players - Provides a full-featured adaptive streaming player that automatically adjusts video quality based on network conditions.
  • Media Source Extension Wrappers - Utilizes the browser Media Source Extensions API to feed media segments into a continuous playback stream.
  • Adaptive Quality Adjustments - The library adjusts video quality levels automatically based on network bandwidth or manually using various transition modes.
  • Media Buffer Managers - Manages the loading and clearing of media data buffers to optimize memory usage and stability.
  • Low Latency Players - Optimizes segment loading and playback rates to minimize the delay between a live broadcast and the viewer.
  • Chunked Transfer Processing - Appends media data to the buffer as it arrives via chunked transfer to reduce playback latency.
  • HLS Streaming - Enables live and on-demand HLS video playback in web browsers using Media Source Extensions.
  • DRM Integration - Enables playback of protected video content through integration with digital rights management systems.
  • MSE Video Rendering - Feeds decoded video segments into the browser's Media Source Extensions for continuous playback.
  • Adaptive Bitrate Controllers - Implements a controller that dynamically adjusts video quality levels based on network throughput and buffer levels.
  • Stream Manifest Parsers - Parses HLS playlist files to map out media segments, subtitles, and timed metadata.
  • Media Decryption - Coordinates with Encrypted Media Extensions to decrypt protected video segments on the client side.
  • Digital Rights Management - Decrypts protected media content and manages licenses to play encrypted HLS video streams securely.
  • Playback Health Metrics - Monitors frame drops and network performance to track the health and quality of the streaming session.
  • Subtitle Rendering Layers - Renders visually styled subtitle and caption overlays using industry standards for accessibility.
  • Playback Rendering - Implements synchronized caption and subtitle rendering for enhanced video accessibility.
  • Precise Seeking - Enables navigation to specific timestamps in live or on-demand content without restriction to fragment boundaries.
  • Buffer Eviction - Automatically removes used or distant media segments from the buffer to optimize memory usage.
  • Chunked Transfer Processing - Appends partial media data to the playback buffer as it arrives to reduce latency for live streams.
  • Media Track Management - Allows selecting and routing specific audio or subtitle tracks based on group identifiers.
  • Timed Metadata Processing - Extracts and handles timed metadata such as ID3 tags and date-range elements within a stream.
  • Custom Loaders - Provides a pluggable loader interface to replace default network requests with custom logic for P2P or testing.
  • DRM License Management - Configures license server URLs and certificates to enable playback of encrypted media content.
  • Error Handling - Manages network failures and parsing errors using automatic retries and emergency level switches.
  • Error Recovery - Implements retry and emergency-switch mechanisms to restore playback after network or parsing failures.
  • Network Request Loaders - Decouples network request logic from the player core to support custom P2P or mock implementations.
  • Retry Strategies - Implements recovery actions and retries for failed segment requests to resolve network or media errors.
  • Latency Reduction Modes - Adjusts segment loading and playback rates to minimize the delay between a live event and the viewer.
  • Media and Audio - Implements an HTTP Live Streaming client.

Historial de estrellas

Gráfico del historial de estrellas de video-dev/hls.jsGráfico del historial de estrellas de video-dev/hls.js

Búsqueda con IA

Explora más repositorios increíbles

Describe lo que necesitas en lenguaje sencillo: la IA clasifica miles de proyectos open-source curados por relevancia.

Start searching with AI

Alternativas open-source a Hls.js

Proyectos open-source similares, clasificados según cuántas características comparten con Hls.js.
  • clappr/clapprAvatar de clappr

    clappr/clappr

    7,473Ver en GitHub↗

    Clappr is an HTML5 web media player and plugin-based framework used to render video and audio across different web platforms. It functions as a playback engine supporting adaptive bitrate streaming through HLS and DASH protocols to ensure smooth media delivery. The project is distinguished by a modular architecture that allows developers to extend player functionality and add support for new media formats via a plugin system. It also includes a dedicated controller for managing digital rights management license requests to secure premium content. The player covers a broad range of capabiliti

    JavaScript
    Ver en GitHub↗7,473
  • shaka-project/shaka-playerAvatar de shaka-project

    shaka-project/shaka-player

    8,120Ver en GitHub↗

    Shaka Player is a JavaScript library for streaming adaptive bitrate video and audio using open web standards in browsers. It functions as a media player that handles Dynamic Adaptive Streaming over HTTP and HTTP Live Streaming manifests and segments. The project includes a playback engine that integrates with Encrypted Media Extensions to authorize and unlock protected media streams. It further provides capabilities for downloading adaptive media and metadata to local storage for offline playback and rendering 360 and 180-degree video using specialized projections for virtual reality. The li

    JavaScriptdashdrmencrypted-media
    Ver en GitHub↗8,120
  • bilibili/flv.jsAvatar de bilibili

    bilibili/flv.js

    23,203Ver en GitHub↗

    flv.js is a JavaScript library and HTML5 Media Source Extension wrapper designed to play FLV video and live streams in web browsers. It enables the rendering of FLV content within a standard web video element without the need for external plugins. The project focuses on real-time transmuxing, converting FLV container data into fragmented MP4 segments to ensure browser compatibility. It includes specific implementations for low-latency live streaming and cross-origin video loading via CORS-compliant server headers. The library provides capabilities for segmented media playback, media position

    JavaScript
    Ver en GitHub↗23,203
  • videojs/video.jsAvatar de videojs

    videojs/video.js

    39,805Ver en GitHub↗

    Video.js is a customizable HTML5 video player framework and JavaScript media plugin system. It provides a foundation for rendering and controlling web video playback across different devices and screen sizes, supporting both standard HTML5 integration and adaptive bitrate streaming for live or on-demand content. The project is distinguished by a modular architecture that allows for the extension of playback functionality through a class-based plugin system and middleware-based method interception. This enables the development of tailored media interfaces and the integration of specialized beh

    JavaScriptdashhlshtml
    Ver en GitHub↗39,805
Ver las 30 alternativas a Hls.js→

Preguntas frecuentes

¿Qué hace video-dev/hls.js?

hls.js is a JavaScript player library that enables HTTP Live Streaming playback in web browsers using the Media Source Extensions API. It functions as an adaptive bitrate streaming engine and a media streamer that manages the buffering and playback of video segments.

¿Cuáles son las características principales de video-dev/hls.js?

Las características principales de video-dev/hls.js son: Adaptive Streaming Players, Media Source Extension Wrappers, Adaptive Quality Adjustments, Media Buffer Managers, Low Latency Players, Chunked Transfer Processing, HLS Streaming, DRM Integration.

¿Qué alternativas de código abierto existen para video-dev/hls.js?

Las alternativas de código abierto para video-dev/hls.js incluyen: clappr/clappr — Clappr is an HTML5 web media player and plugin-based framework used to render video and audio across different web… shaka-project/shaka-player — Shaka Player is a JavaScript library for streaming adaptive bitrate video and audio using open web standards in… bilibili/flv.js — flv.js is a JavaScript library and HTML5 Media Source Extension wrapper designed to play FLV video and live streams in… videojs/video.js — Video.js is a customizable HTML5 video player framework and JavaScript media plugin system. It provides a foundation… brentvatne/react-native-video — react-native-video is a cross-platform mobile video player component for applications that requires the ability to… dash-industry-forum/dash.js — dash.js is a browser-based JavaScript player for streaming adaptive video and audio content using the MPEG-DASH…