awesome-repositories.com
博客
MCP
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
video-dev avatar

video-dev/hls.js

0
View on GitHub↗
16,767 星标·2,745 分支·TypeScript·10 次浏览hlsjs.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.

Star 历史

video-dev/hls.js 的 Star 历史图表video-dev/hls.js 的 Star 历史图表

AI 搜索

探索更多 awesome 仓库

用简单的语言描述您的需求 —— AI 将根据相关性为您从数千个精选开源项目中进行排序。

Start searching with AI

Hls.js 的开源替代方案

相似的开源项目,按与 Hls.js 的功能重合度排序。
  • clappr/clapprclappr 的头像

    clappr/clappr

    7,473在 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
    在 GitHub 上查看↗7,473
  • shaka-project/shaka-playershaka-project 的头像

    shaka-project/shaka-player

    8,120在 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
    在 GitHub 上查看↗8,120
  • bilibili/flv.jsbilibili 的头像

    bilibili/flv.js

    23,203在 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
    在 GitHub 上查看↗23,203
  • videojs/video.jsvideojs 的头像

    videojs/video.js

    39,805在 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
    在 GitHub 上查看↗39,805
查看 Hls.js 的所有 30 个替代方案→

常见问题解答

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.

video-dev/hls.js 的主要功能有哪些?

video-dev/hls.js 的主要功能包括:Adaptive Streaming Players, Media Source Extension Wrappers, Adaptive Quality Adjustments, Media Buffer Managers, Low Latency Players, Chunked Transfer Processing, HLS Streaming, DRM Integration。

video-dev/hls.js 有哪些开源替代品?

video-dev/hls.js 的开源替代品包括: 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…