awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
bytedance avatar

bytedance/xgplayer

0
View on GitHub↗
9,245 stars·939 forks·JavaScript·MIT·45 viewsh5player.bytedance.com↗

Xgplayer

xgplayer is a plugin-based HTML5 video player framework that supports multiple streaming formats including MP4, FLV, HLS, and dash. It is built on a component architecture that allows developers to extend functionality through self-contained plugins, with staged loading protocol adapters that reduce bandwidth usage. The player includes a strategy center for dynamic optimization that adjusts buffering, bitrate, and source selection in real time to reduce first-frame delay and playback stalling.

The player distinguishes itself through support for ultra-low latency live streaming with time-shift and recording playback capabilities, as well as commercial DRM playback using FairPlay, Widevine, and private encryption schemes with integrated license management. It provides cross-platform compatibility including WeChat browser support with inline playback, fullscreen mode, and screen orientation locking. The plugin system enables per-instance text localization, icon customization, and comprehensive plugin lifecycle management including registration, deregistration, and preset assembly.

The player offers a full set of playback controls including keyboard shortcuts, picture-in-picture mode, mini player window, playback speed adjustment, and video quality switching. It includes danmaku overlays, thumbnail previews from sprite sheets, progress markers, text track loading, screenshot capture, video rotation, and video download functionality. The player also provides audio playback capabilities with synchronized lyrics display, audio visualizer, and playlist management.

Features

  • Plugin-Based Architectures - Built on a plugin-based component architecture that extends functionality through self-contained components.
  • Video Players - Places a player container in the DOM and instantiates it with a video source for immediate playback.
  • HTML5 Media Players - A plugin-based HTML5 video player framework supporting MP4, FLV, HLS, and dash formats.
  • Plugin-Based Video Players - Provides a plugin-based HTML5 video player framework with staged loading for multiple streaming formats.
  • Playback Configuration Settings - Configures playback parameters like source URL, dimensions, poster, volume, autoplay, and fluid layout.
  • Playback Performance Optimizations - Adjusts buffering, bitrate, and source selection in real time to reduce first-frame delay and stalling.
  • Staged Video Loading Adapters - Provides staged loading protocol adapters that reduce bandwidth usage for MP4, FLV, HLS, and dash formats.
  • Time-Shift Live Stream Buffers - Supports time-shift live streaming with pause, rewind, and resume via recording and time-shift management APIs.
  • Video Format Plugin Support - Plays video in MP4, FLV, HLS, and dash formats by selecting the appropriate streaming plugin.
  • Video Platform Integrations - Provides integration with cloud video platforms for upload, transcoding, distribution, and playback workflows.
  • Feature Extension Plugins - Adds or removes built-in and custom plugins to tailor the player's features and behavior for specific use cases.
  • Video Source Configuration - Accepts a single URL or an array of source objects with type hints to play video content.
  • Low-Latency Live Stream Players - Supports ultra-low latency live streaming with time-shift, recording playback, and dynamic bitrate adaptation.
  • Dynamic Bitrate Optimizers - Ships a strategy center that dynamically adjusts buffering, bitrate, and source selection to reduce stalling.
  • Live Streaming Players - Supports ultra-low latency live streaming with time-shift, recording playback, and dynamic bitrate adaptation.
  • Low Latency Players - Supports ultra-low latency live streaming with time-shift, recording playback, and dynamic bitrate adaptation for sub-second delay.
  • Multi-Format Media Players - Plays MP4, FLV, HLS, and dash formats with staged loading for optimized playback.
  • Cross-Platform Playback Configurations - Ships cross-platform compatibility including WeChat browser support with inline playback and orientation locking.
  • DRM Integration - Plays encrypted streams using FairPlay, Widevine, and custom DRM schemes with integrated license management.
  • Plugin Systems - Provides a plugin architecture that lets developers extend player functionality with self-contained components.
  • DRM License Management - Integrates FairPlay, Widevine, and custom DRM license management for encrypted media playback.
  • DRM Encryption Schemes - Implements commercial DRM playback using FairPlay, Widevine, and private encryption schemes.
  • Custom Video Player UIs - Allows developers to extend functionality through self-contained plugins for danmu overlays, thumbnail previews, and custom UI components.
  • Componentized - Renders a web video player with componentized UI and staged loading for multiple streaming formats.
  • Traffic-Saving Video Players - Reduces bandwidth usage through a traffic-saving parser and supports multiple streaming formats.
  • Video Thumbnail Sprite Sheets - Displays thumbnail previews from sprite sheets when hovering over the progress bar for video navigation.
  • Keyboard Shortcuts - Responds to keyboard shortcuts for common actions like play, pause, seek, and volume adjustment.
  • Dynamic Plugin Registrations - Attaches a plugin to an already-running player instance through a dedicated registration method.
  • Video Quality Adjustments - Changes video resolution during playback to adapt to network conditions or user preference.
  • Danmaku Rendering - Inserts user-defined scrolling text overlays on the video with configurable timing and display modes.
  • Time-Shift Playback - Pauses, rewinds, and resumes live streams by connecting to recording and time-shift management APIs.
  • Ultra-Low Latency Transport - Delivers live streams with approximately one-second delay using RTM, FLV 2s low latency, and LL-HLS protocols.
  • Timed Text Tracks - Loads external subtitle or caption files in WebVTT format and sets a default language track.
  • Staged Loading Players - Reduces bandwidth usage through staged loading protocol adapters for MP4, FLV, HLS, and dash formats.
  • Playback Speed Controllers - Includes a playback speed controller with predefined speed options for video rate adjustment.
  • Seek Preview Thumbnails - Shows a thumbnail preview of the video at the hovered position on the progress bar.
  • WeChat-Compatible Players - Provides cross-platform compatibility including WeChat browser support with inline playback, fullscreen mode, and screen orientation locking.
  • Initialization-Time - Registers plugins at player initialization by passing plugin classes in the configuration array.
  • Plugin Configurations - Registers third-party or custom plugins at startup and passes per-plugin settings through a dedicated configuration key.
  • Comment Overlays - Displays user-submitted scrolling or positioned text comments over the video during playback.
  • Plugin Presets - Combines curated sets of plugins into presets to enable or disable feature groups for different playback scenarios.
  • Picture-in-Picture Interfaces - Ships a picture-in-picture toggle that keeps video visible in a floating window while browsing other content.
  • Cross-Platform Fullscreen Abstractions - Ships a cross-platform fullscreen abstraction that handles WeChat and other embedded browser contexts.

Star history

Star history chart for bytedance/xgplayerStar history chart for bytedance/xgplayer

How this analysis was created: This summary and feature list were written by an AI model that read the project's README and public documentation pages. Each feature links to the documentation it came from; stars, license and language come straight from the GitHub API. The model does not read the source code, and the analysis is refreshed when the project is re-analysed. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does bytedance/xgplayer do?

xgplayer is a plugin-based HTML5 video player framework that supports multiple streaming formats including MP4, FLV, HLS, and dash. It is built on a component architecture that allows developers to extend functionality through self-contained plugins, with staged loading protocol adapters that reduce bandwidth usage. The player includes a strategy center for dynamic optimization that adjusts buffering, bitrate, and source selection in real time to reduce first-frame delay…

What are the main features of bytedance/xgplayer?

The main features of bytedance/xgplayer are: Plugin-Based Architectures, Video Players, HTML5 Media Players, Plugin-Based Video Players, Playback Configuration Settings, Playback Performance Optimizations, Staged Video Loading Adapters, Time-Shift Live Stream Buffers.

What are some open-source alternatives to bytedance/xgplayer?

Open-source alternatives to bytedance/xgplayer include: clappr/clappr — Clappr is an HTML5 web media player and plugin-based framework used to render video and audio across different web… thewidlarzgroup/react-native-video — react-native-video is a cross-platform video player component for React Native that enables the playback of local and… doikki/dkvideoplayer — DKVideoPlayer is an Android video player library and media playback framework designed to integrate advanced streaming… mediaelement/mediaelement — MediaElement is a JavaScript library that wraps native HTML5 audio and video elements to provide a unified media… zhw2590582/artplayer — ArtPlayer is a modular, browser-based media library designed for embedding and controlling video content within web… dash-industry-forum/dash.js — dash.js is a browser-based JavaScript player for streaming adaptive video and audio content using the MPEG-DASH…

Open-source alternatives to Xgplayer

Similar open-source projects, ranked by how many features they share with Xgplayer.
  • clappr/clapprclappr avatar

    clappr/clappr

    7,473View on 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
    View on GitHub↗7,473
  • thewidlarzgroup/react-native-videoTheWidlarzGroup avatar

    TheWidlarzGroup/react-native-video

    7,698View on GitHub↗

    react-native-video is a cross-platform video player component for React Native that enables the playback of local and remote video files using native platform decoders. It functions as an adaptive streaming player supporting HLS, DASH, and SmoothStreaming formats with automatic bitrate selection and quality adaptation. The project is distinguished by its support for industry-standard digital rights management, including Widevine, FairPlay, and PlayReady, and a plugin-based architecture that allows for the injection of custom analytics or playback logic without modifying the core library. It a

    Kotlin
    View on GitHub↗7,698
  • doikki/dkvideoplayerDoikki avatar

    Doikki/DKVideoPlayer

    5,317View on GitHub↗

    DKVideoPlayer is an Android video player library and media playback framework designed to integrate advanced streaming and playback capabilities into mobile applications. It provides a hardware-accelerated video renderer and a customizable UI kit for building player interfaces, including support for picture-in-picture floating windows. The framework distinguishes itself through specialized interactive features, such as real-time comment overlays, frame capture snapshots, and gesture-based controls for adjusting volume, brightness, and playback progress. It also supports multi-stream playback,

    Javaandroidexoplayerffmpeg
    View on GitHub↗5,317
  • mediaelement/mediaelementmediaelement avatar

    mediaelement/mediaelement

    8,295View on GitHub↗

    MediaElement is a JavaScript library that wraps native HTML5 audio and video elements to provide a unified media interface and a customizable player framework. It acts as a multi-format media controller and a web-based plugin framework, normalizing playback controls and visual styles to ensure a consistent experience across different web browsers. The project distinguishes itself through a plugin-based playback system that maps specific MIME types to custom renderers, allowing the integration of third-party media embeds and external playback engines. It supports advanced delivery features inc

    JavaScript
    View on GitHub↗8,295
  • See all 30 alternatives to Xgplayer→