Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Android
  3. ijkplayer

ijkplayer

GPL-2.0C

A cross-platform mobile video player for Android and iOS based on FFmpeg, supporting hardware acceleration.

GitHubGitHub
33.1k stars8.2k forks0 contributors

What is ijkplayer?

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.

Target Audience

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.

Value Proposition

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.

Overview

Android/iOS video player based on FFmpeg n3.4, with MediaCodec, VideoToolbox support.

Use Cases

Best For

  • Building custom video players in Android or iOS apps
  • Streaming video content that requires hardware decoding
  • Applications needing support for a wide range of video formats via FFmpeg
  • Projects where controlling video playback behavior and binary size is critical
  • Developing cross-platform mobile apps with shared video logic
  • Integrating video playback with alternative backends like ExoPlayer

Not Ideal For

  • Applications requiring built-in subtitle rendering without additional libraries
  • Projects needing advanced video filtering or server-side processing via avfilter
  • Teams seeking a plug-and-play video solution with minimal configuration and build steps
  • Cross-platform development beyond Android and iOS, such as for web or desktop apps

Pros & Cons

Pros

Cross-Platform Native 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.

Hardware-Accelerated Decoding

Leverages Android MediaCodec and iOS VideoToolbox for efficient video decoding, reducing CPU usage and improving battery life on supported devices.

Configurable Codec Support

Offers multiple FFmpeg build configurations (lite, default, HEVC) via config scripts, allowing developers to balance codec variety with binary size.

Familiar API Interfaces

Implements MediaPlayer-like APIs on Android and iOS, as shown in the provided interfaces, making integration easier for developers accustomed to standard media frameworks.

Cons

Missing Advanced Features

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.

Complex Build Process

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.

Outdated Documentation References

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.

Frequently Asked Questions

Quick Stats

Stars33,145
Forks8,240
Contributors0
Open Issues2,837
Last commit1 year ago
CreatedSince 2013

Tags

#ios#ffmpeg#android#hardware-acceleration#player#video#mobile-development#cross-platform#video-player#media-playback

Built With

X
Xcode
A
Android NDK
O
OpenGL ES
F
FFmpeg
G
Gradle

Included in

Android12.0kFFmpeg1.2k
Auto-fetched 1 day ago

Related Projects

ExoplayerExoplayer

This project is deprecated and stale. The latest ExoPlayer code is available in https://github.com/androidx/media

Stars21,914
Forks6,015
Last commit4 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub