awesome-repositories.com
Blog
awesome-repositories.com

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

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
Back to google/exoplayer

Open-source alternatives to ExoPlayer

30 open-source projects similar to google/exoplayer, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best ExoPlayer alternative.

  • carguo/gsyvideoplayerCarGuo avatar

    CarGuo/GSYVideoPlayer

    21,440View on GitHub↗

    GSYVideoPlayer is a versatile video player framework for Android that acts as a multi-engine playback wrapper. It provides a unified playback interface to control different video playback kernels, such as ExoPlayer, IJKplayer, and MediaPlayer, ensuring compatibility across diverse mobile hardware. The framework distinguishes itself through a flexible architecture that allows for core component swapping, enabling the replacement of playback engines, managers, or rendering layers. It includes a dedicated video caching manager for local storage and a customizable media UI component that supports

    Java16kandroidexoplayer
    View on GitHub↗21,440
  • 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

AI search

Explore more awesome repositories

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

Find more with AI search
  • video-dev/hls.jsvideo-dev avatar

    video-dev/hls.js

    16,767View on GitHub↗

    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

    TypeScript
    View on GitHub↗16,767
  • brentvatne/react-native-videobrentvatne avatar

    brentvatne/react-native-video

    7,694View on GitHub↗

    react-native-video is a cross-platform mobile video player component for applications that requires the ability to render local files and streaming media. It provides a specialized client for adaptive media streaming, adjusting video quality based on real-time network conditions. The project includes a DRM protected video player that secures and decrypts video assets using digital rights management standards. It also features a picture-in-picture video component that allows content to be detached into a floating window for multitasking on mobile devices. The library covers offline video play

    Kotlin
    View on GitHub↗7,694
  • videojs/video.jsvideojs avatar

    videojs/video.js

    39,805View on 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
    View on GitHub↗39,805
  • pili-engineering/pldroidplayerpili-engineering avatar

    pili-engineering/PLDroidPlayer

    4,509View on GitHub↗

    PLDroidPlayer is an Android video player SDK and customizable media playback framework. It provides a cross-platform media engine and a hardware-accelerated video decoder that supports multiple hardware architectures and includes an automatic fallback to software processing. The project functions as a network-optimized streaming client featuring custom DNS resolution and automatic latency optimization to reduce the delay in live broadcasts. It includes specialized capabilities for secure content playback of encrypted video streams using specific provider protocols. The framework covers a wid

    View on GitHub↗4,509
  • microsoft/windows-universal-samplesmicrosoft avatar

    microsoft/Windows-universal-samples

    9,696View on GitHub↗

    This repository is a comprehensive collection of reference implementations and sample libraries for the Universal Windows Platform. It provides practical examples of how to use Windows Runtime APIs to build cross-device applications, including detailed guidance on XAML-based declarative user interfaces and DirectX-integrated rendering. The project distinguishes itself by providing a wide array of hardware integration suites, covering low-level communication with USB, Serial, I2C, SPI, and GPIO peripherals. It includes specialized implementations for mixed reality holographic rendering, advanc

    JavaScript
    View on GitHub↗9,696
  • orhanobut/loggerorhanobut avatar

    orhanobut/logger

    13,849View on GitHub↗

    This Android logging library is a toolkit for printing formatted, stylized, and filtered debug messages to the Android console and local files. It functions as a console log styler, a log file writer, and a formatter for converting complex data into human-readable text. The library provides specific utilities for customizing the visual appearance of logs by tracking thread information and call depth. It includes capabilities for converting JSON, XML, and collection data into readable formats and saving console entries to local files for offline analysis. The system covers broader log managem

    Java
    View on GitHub↗13,849
  • jakewharton/butterknifeJakeWharton avatar

    JakeWharton/butterknife

    25,364View on GitHub↗

    ButterKnife is an Android view binding library and Java annotation processor that automates the linking of UI elements and resources to class fields and methods. It functions as a system for managing view references and event listeners to reduce repetitive setup code in Android applications. The library uses compile-time code generation to replace manual view lookups and type casting with generated helper classes, ensuring a reflection-free runtime. It differentiates itself by providing mechanisms for binding interaction events directly to methods, eliminating the need for anonymous inner cla

    Java
    View on GitHub↗25,364
  • android/uampA

    android/uamp

    13,186View on GitHub↗

    uamp is an audio media application framework and reference implementation for building music playback applications on Android. It provides a cross-device media framework designed to maintain functional and visual consistency across phones, tablets, Wear OS, Android TV, and Android Auto. The project features specific implementations for automotive-safe music control and Google Cast integration for remote playback. It includes a multi-form factor UI kit that demonstrates how to adapt a single media codebase to various screen sizes and device types. The framework covers core media capabilities

    Kotlin
    View on GitHub↗13,186
  • grenderg/toastyGrenderG avatar

    GrenderG/Toasty

    6,586View on GitHub↗

    Toasty is a JavaScript toast notification library and frontend feedback widget. It provides a reusable UI notification component for displaying temporary, styled alert messages and status notifications within web applications. The library focuses on application status signaling and custom notification UI, allowing for the creation of personalized alert messages with unique icons and formatted text. It implements non-intrusive notification overlays to provide visual feedback without interrupting user workflow. The system manages notifications through a state-based queue and a centralized noti

    Javaandroidtoastui-widget
    View on GitHub↗6,586
  • yixia/vitamiobundleyixia avatar

    yixia/VitamioBundle

    5,257View on GitHub↗

    VitamioBundle is an Android media player library and playback framework designed for decoding and rendering high-performance audio and video content. It provides a hardware-accelerated video decoder to reduce CPU load and battery consumption on mobile devices. The project includes an adaptive bitrate streaming client that adjusts video quality in real-time based on network conditions to prevent playback interruptions. It also features a video rendering engine capable of configuring pixel formats and chroma output to optimize visual quality for mobile displays. The library covers broad multim

    Java
    View on GitHub↗5,257
  • xcltapestry/xcl-chartsxcltapestry avatar

    xcltapestry/XCL-Charts

    4,020View on GitHub↗

    XCL-Charts is a native Android charting library designed as a high-performance graphics engine for rendering complex, interactive data visualizations. It provides a comprehensive framework for drawing diverse 2D and 3D plots directly onto the native canvas, enabling the creation of custom user interface components for mobile applications. The library distinguishes itself through a robust architecture that handles coordinate mapping and object-oriented composition, allowing for the construction of sophisticated, multi-axis layouts. It supports real-time data exploration through gesture-driven

    Java
    View on GitHub↗4,020
  • trinea/android-commonTrinea avatar

    Trinea/android-common

    5,022View on GitHub↗

    android-common is a collection of shared utility components and framework libraries for Android development. It provides specialized toolkits for reverse engineering, system utility management, data caching, and high-performance user interface components. The project includes a reverse engineering toolkit for inspecting application internals through package decompilation and manifest data extraction. It also features a system utility toolkit for managing file operations and executing shell commands within the Android operating system. The library covers several capability areas, including da

    Java
    View on GitHub↗5,022
  • shaka-project/shaka-playershaka-project avatar

    shaka-project/shaka-player

    8,120View on 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
    View on GitHub↗8,120
  • tamsiree/rxtoolTamsiree avatar

    Tamsiree/RxTool

    12,305View on GitHub↗

    RxTool is an Android development utility library consisting of reusable components and helper classes for common mobile development tasks. It provides a coordinated set of toolkits for hardware interfacing, media processing, and user interface construction. The project features specialized implementations for mobile payment integration with Alipay and WeChat Pay, as well as dedicated tools for social sharing workflows. It includes a security-focused set of human verification widgets, such as puzzle and sliding captchas, to prevent automated bot interactions. The library covers a broad capabi

    Kotlinalipaybarcodedialog
    View on GitHub↗12,305
  • androidx/androidxandroidx avatar

    androidx/androidx

    6,010View on GitHub↗

    AndroidX is the official collection of Android Jetpack libraries for building Android applications. It provides a suite of backward-compatible APIs that expose modern platform features on older Android versions, ensuring consistent functionality across devices. The project is built around lifecycle-aware component architecture, with tools like ViewModel for preserving UI data across configuration changes, LiveData for lifecycle-aware data observation, and WorkManager for constraint-based background task scheduling. The project distinguishes itself through compile-time code generation and type

    Kotlin
    View on GitHub↗6,010
  • android/android-ktxandroid avatar

    android/android-ktx

    7,421View on GitHub↗

    android-ktx is a Kotlin extension library for the Android framework. It provides a collection of idiomatic helper functions that wrap native system calls to reduce boilerplate and improve code readability throughout Android application development. The library implements a set of tools for building styled strings, transformation matrices, and graphical elements. It utilizes a builder-based syntax to simplify the construction of system objects such as content values and data bundles. The project covers a broad range of capabilities, including the simplification of view manipulations and time

    androidkotlinkotlin-extensions
    View on GitHub↗7,421
  • blankj/androidutilcodeBlankj avatar

    Blankj/AndroidUtilCode

    33,657View on GitHub↗

    AndroidUtilCode is an Android utility library and system API wrapper designed to reduce development boilerplate. It provides a collection of helper classes for common tasks including system settings management, file I/O, and hardware access. The project distinguishes itself through a comprehensive toolset for device management and UI assistance. It includes specialized capabilities for monitoring battery status, managing system volume and brightness, and implementing UI helpers to prevent duplicate click events. It also provides a dedicated system for coordinate conversion between different m

    Javaandroidandroidxapp
    View on GitHub↗33,657
  • orz12/pilipalaxorz12 avatar

    orz12/PiliPalaX

    3,463View on GitHub↗

    PiliPalaX is a video streaming mobile client designed for discovering and playing video content, including anime and live streams. It functions as a media content browser and a social media video platform, integrating video playback with community engagement features. The application includes a personalized video player with hardware acceleration and gesture-based controls for adjusting volume and brightness. It also incorporates privacy-focused tools, such as incognito browsing modes and user-blocking capabilities to control content visibility. The system covers broad capability areas inclu

    Dart
    View on GitHub↗3,463
  • wasabeef/recyclerview-animatorswasabeef avatar

    wasabeef/recyclerview-animators

    11,543View on GitHub↗

    This library is an Android animation framework designed to manage the visual transitions and entrance effects of dynamic list components. It provides a collection of pre-built animation primitives that trigger automatically when items are added, removed, or moved within a list, allowing developers to apply polished motion effects to interface elements. The project distinguishes itself by offering granular control over the timing, interpolation, and sequencing of these transitions. It supports the composition of multiple animation layers and the implementation of staggered motion effects, whic

    Kotlinandroidandroid-libraryanimation
    View on GitHub↗11,543
  • tencent/tinkerTencent avatar

    Tencent/tinker

    17,644View on GitHub↗

    Tinker is an Android hotfix framework designed to update application code, resources, and native libraries at runtime without requiring a full reinstallation or store update. It provides a comprehensive engine for injecting runtime fixes and managing the software lifecycle of deployed mobile applications. The framework distinguishes itself through a robust binary patching system that generates compact difference files between application versions, significantly reducing bandwidth usage during distribution. To ensure operational stability, it incorporates a crash-resilient safe mode that autom

    Javaandroiddynamichotfix
    View on GitHub↗17,644
  • lipangit/jiaozivideoplayerlipangit avatar

    lipangit/JiaoZiVideoPlayer

    10,491View on GitHub↗

    JiaoZiVideoPlayer is an Android media player framework used to build mobile video interfaces. It serves as a unified interface layer that abstracts multiple backend playback engines to ensure consistent video delivery on mobile devices. The project integrates ExoPlayer and ijkPlayer, utilizing FFmpeg for broad codec support and efficient media decoding. This cross-backend approach allows the user interface to remain decoupled from specific playback engines, enabling the use of different decoding technologies based on hardware or software requirements. The framework provides a modular playbac

    Javaproject
    View on GitHub↗10,491
  • doublesymmetry/react-native-track-playerdoublesymmetry avatar

    doublesymmetry/react-native-track-player

    3,662View on GitHub↗

    react-native-track-player is a cross-platform mobile audio player library for playing local and streamed audio files. It provides a background audio service that maintains music playback and responds to remote commands from lock screens and Bluetooth devices. The library includes a playback engine capable of decrypting audio files secured by industry-standard digital rights management and an adaptive bitrate streaming client that supports HLS and DASH formats to adjust audio quality based on network conditions. It also features an offline media storage manager for saving audio content locally

    Kotlinandroidaudioaudio-library
    View on GitHub↗3,662
  • frankiesardo/icepickfrankiesardo avatar

    frankiesardo/icepick

    3,725View on GitHub↗

    Icepick is an Android instance state library and persistence tool designed to automate the serialization and restoration of object state within Android bundles. It provides a framework for maintaining application state during activity recreation, configuration changes, and process death. The project utilizes annotation-driven code generation to create the boilerplate logic required for bundle manipulation and key management. It distinguishes itself through a provider-based serialization system that allows for custom serialization and deserialization logic when handling complex types that do n

    Clojure
    View on GitHub↗3,725
  • lucksiege/pictureselectorLuckSiege avatar

    LuckSiege/PictureSelector

    13,592View on GitHub↗

    PictureSelector is an Android media selection library and toolkit for browsing and picking images, videos, and audio files from a device album. It provides a comprehensive framework for capturing new photos and videos via system hardware, extracting media metadata, and managing the resulting files. The library features a modular architecture that allows for custom media engine implementations to replace default image loading, file compression, and video playback logic. It offers extensive UI customization, enabling the replacement of default layout resources and theme configurations to modify

    Javaandroidandroid-image-selectorcamera
    View on GitHub↗13,592
  • ereza/customactivityoncrashEreza avatar

    Ereza/CustomActivityOnCrash

    3,759View on GitHub↗

    CustomActivityOnCrash is an Android crash handling library that replaces the default system crash dialog with a custom activity. It functions as an application recovery tool and error interface manager, designed to handle application failures gracefully. The library provides mechanisms to customize the visual appearance of error screens using specific themes and translated strings. It manages application stability by preventing infinite crash cycles through time-based loop prevention and configuring whether error screens launch during background execution. The tool includes capabilities for

    Java
    View on GitHub↗3,759
  • ianramzy/decentralized-video-chatianramzy avatar

    ianramzy/decentralized-video-chat

    3,313View on GitHub↗

    This project is a browser-based video conferencing platform that facilitates direct, peer-to-peer communication between participants. By utilizing browser-native media capture and direct network connections, it enables real-time audio, video, and screen sharing without relying on central media relay servers. The platform distinguishes itself through its focus on ephemeral, private communication. It generates unique, short-lived session identifiers for virtual rooms that exist only in memory, ensuring that no persistent user accounts or long-term storage are required. To maintain connection st

    javascriptnodejspeer-to-peer
    View on GitHub↗3,313
  • goldze/mvvmhabitgoldze avatar

    goldze/MVVMHabit

    7,701View on GitHub↗

    MVVMHabit is an Android development framework and base library that implements the MVVM architecture using Android Architecture Components. It provides a pre-integrated foundation designed to decouple business logic from user interface rendering and lifecycle management. The project distinguishes itself by bundling a comprehensive set of architectural templates, including a reactive event bus for decoupled component communication, token-based data exchange between logic instances, and a single-activity fragment hosting system to reduce manifest overhead. The framework covers broad capability

    Javaaacdatabindingglide
    View on GitHub↗7,701