A cross-platform mobile video player for Android and iOS based on FFmpeg, supporting hardware acceleration.
ijkplayer is a cross-platform mobile video player library for Android and iOS, based on FFmpeg. It provides native video playback capabilities with support for hardware acceleration via MediaCodec on Android and VideoToolbox on iOS, enabling efficient handling of various video formats and streams in mobile applications.
Mobile app developers (Android and iOS) who need to integrate robust, customizable video playback into their applications, particularly those dealing with diverse video sources or requiring performance optimizations.
Developers choose ijkplayer for its deep integration with FFmpeg, offering extensive codec support and configurability, combined with platform-specific hardware acceleration to ensure smooth playback and broad device compatibility without relying on system media players.
Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.
Provides native libraries for both Android (API 9+) and iOS (7.0+), enabling consistent video playback across major mobile platforms without relying on system players.
Leverages Android MediaCodec and iOS VideoToolbox for efficient video decoding, reducing CPU usage and improving battery life on supported devices.
Offers multiple FFmpeg build configurations (lite, default, HEVC) via config scripts, allowing developers to balance codec variety with binary size.
Implements MediaPlayer-like APIs on Android and iOS, as shown in the provided interfaces, making integration easier for developers accustomed to standard media frameworks.
Explicitly states no plans for native subtitle render or avfilter support in the NOT-ON-PLAN section, limiting out-of-the-box functionality for common use cases.
Requires manual setup with specific NDK and Xcode versions, and involves multiple shell scripts for compiling FFmpeg, which can be error-prone and time-consuming.
The README references older tools like NDK r10e and Xcode 7.3, which may not be compatible with current development environments without adjustments or troubleshooting.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.