kandi background
Explore Kits

ijkplayer | iOS video player based on FFmpeg n3 | Video Utils library

 by   bilibili C Version: Current License: Non-SPDX

 by   bilibili C Version: Current License: Non-SPDX

Download this library from

kandi X-RAY | ijkplayer Summary

ijkplayer is a C library typically used in Video, Video Utils applications. ijkplayer has no bugs, it has no vulnerabilities and it has medium support. However ijkplayer has a Non-SPDX License. You can download it from GitHub.
Video player based on ffplay.
Support
Support
Quality
Quality
Security
Security
License
License
Reuse
Reuse

kandi-support Support

  • ijkplayer has a medium active ecosystem.
  • It has 29354 star(s) with 7617 fork(s). There are 1223 watchers for this library.
  • It had no major release in the last 12 months.
  • There are 2612 open issues and 2473 have been closed. On average issues are closed in 147 days. There are 57 open pull requests and 0 closed requests.
  • It has a neutral sentiment in the developer community.
  • The latest version of ijkplayer is current.
ijkplayer Support
Best in #Video Utils
Average in #Video Utils
ijkplayer Support
Best in #Video Utils
Average in #Video Utils

quality kandi Quality

  • ijkplayer has 0 bugs and 0 code smells.
ijkplayer Quality
Best in #Video Utils
Average in #Video Utils
ijkplayer Quality
Best in #Video Utils
Average in #Video Utils

securitySecurity

  • ijkplayer has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
  • ijkplayer code analysis shows 0 unresolved vulnerabilities.
  • There are 0 security hotspots that need review.
ijkplayer Security
Best in #Video Utils
Average in #Video Utils
ijkplayer Security
Best in #Video Utils
Average in #Video Utils

license License

  • ijkplayer has a Non-SPDX License.
  • Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.
ijkplayer License
Best in #Video Utils
Average in #Video Utils
ijkplayer License
Best in #Video Utils
Average in #Video Utils

buildReuse

  • ijkplayer releases are not available. You will need to build from source code and install.
  • Installation instructions, examples and code snippets are available.
  • It has 9836 lines of code, 1311 functions and 198 files.
  • It has medium code complexity. Code complexity directly impacts maintainability of the code.
ijkplayer Reuse
Best in #Video Utils
Average in #Video Utils
ijkplayer Reuse
Best in #Video Utils
Average in #Video Utils
Top functions reviewed by kandi - BETA

Coming Soon for all Libraries!

Currently covering the most popular Java, JavaScript and Python libraries. See a SAMPLE HERE.
kandi's functional review helps you automatically verify the functionalities of the libraries and avoid rework.

ijkplayer Key Features

Common

remove rarely used ffmpeg components to reduce binary size config/module-lite.sh

workaround for some buggy online video.

Android

platform: API 9~23

cpu: ARMv7a, ARM64v8a, x86 (ARMv5 is not tested on real devices)

api: MediaPlayer-like

video-output: NativeWindow, OpenGL ES 2.0

audio-output: AudioTrack, OpenSL ES

hw-decoder: MediaCodec (API 16+, Android 4.1+)

alternative-backend: android.media.MediaPlayer, ExoPlayer

iOS

platform: iOS 7.0~10.2.x

cpu: armv7, arm64, i386, x86_64, (armv7s is obselete)

api: MediaPlayer.framework-like

video-output: OpenGL ES 2.0

audio-output: AudioQueue, AudioUnit

hw-decoder: VideoToolbox (iOS 8+)

alternative-backend: AVFoundation.Framework.AVPlayer, MediaPlayer.Framework.MPMoviePlayerControlelr (obselete since iOS 8)

Download

copy iconCopydownload iconDownload
# required
allprojects {
    repositories {
        jcenter()
    }
}

dependencies {
    # required, enough for most devices.
    compile 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
    compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'

    # Other ABIs: optional
    compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
    compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
    compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
    compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'

    # ExoPlayer as IMediaPlayer: optional, experimental
    compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.8.8'
}

Before Build

copy iconCopydownload iconDownload
# install homebrew, git, yasm
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew install yasm

# add these lines to your ~/.bash_profile or ~/.profile
# export ANDROID_SDK=<your sdk path>
# export ANDROID_NDK=<your ndk path>

# on Cygwin (unmaintained)
# install git, make, yasm

Build Android

copy iconCopydownload iconDownload
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
git checkout -B latest k0.8.8

./init-android.sh

cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all

cd ..
./compile-ijk.sh all

# Android Studio:
#     Open an existing Android Studio project
#     Select android/ijkplayer/ and import
#
#     define ext block in your root build.gradle
#     ext {
#       compileSdkVersion = 23       // depending on your sdk version
#       buildToolsVersion = "23.0.0" // depending on your build tools version
#
#       targetSdkVersion = 23        // depending on your sdk version
#     }
#
# If you want to enable debugging ijkplayer(native modules) on Android Studio 2.2+: (experimental)
#     sh android/patch-debugging-with-lldb.sh armv7a
#     Install Android Studio 2.2(+)
#     Preference -> Android SDK -> SDK Tools
#     Select (LLDB, NDK, Android SDK Build-tools,Cmake) and install
#     Open an existing Android Studio project
#     Select android/ijkplayer
#     Sync Project with Gradle Files
#     Run -> Edit Configurations -> Debugger -> Symbol Directories
#     Add "ijkplayer-armv7a/.externalNativeBuild/ndkBuild/release/obj/local/armeabi-v7a" to Symbol Directories
#     Run -> Debug 'ijkplayer-example'
#     if you want to reverse patches:
#     sh patch-debugging-with-lldb.sh reverse armv7a
#
# Eclipse: (obselete)
#     File -> New -> Project -> Android Project from Existing Code
#     Select android/ and import all project
#     Import appcompat-v7
#     Import preference-v7
#
# Gradle
#     cd ijkplayer
#     gradle

Build iOS

copy iconCopydownload iconDownload
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-ios
cd ijkplayer-ios
git checkout -B latest k0.8.8

./init-ios.sh

cd ios
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all

# Demo
#     open ios/IJKMediaDemo/IJKMediaDemo.xcodeproj with Xcode
# 
# Import into Your own Application
#     Select your project in Xcode.
#     File -> Add Files to ... -> Select ios/IJKMediaPlayer/IJKMediaPlayer.xcodeproj
#     Select your Application's target.
#     Build Phases -> Target Dependencies -> Select IJKMediaFramework
#     Build Phases -> Link Binary with Libraries -> Add:
#         IJKMediaFramework.framework
#
#         AudioToolbox.framework
#         AVFoundation.framework
#         CoreGraphics.framework
#         CoreMedia.framework
#         CoreVideo.framework
#         libbz2.tbd
#         libz.tbd
#         MediaPlayer.framework
#         MobileCoreServices.framework
#         OpenGLES.framework
#         QuartzCore.framework
#         UIKit.framework
#         VideoToolbox.framework
#
#         ... (Maybe something else, if you get any link error)
# 

License

copy iconCopydownload iconDownload
Copyright (c) 2017 Bilibili
Licensed under LGPLv2.1 or later

Community Discussions

Trending Discussions on ijkplayer
  • Compiling ijkplayer x264 for android x86 & x86_64 Architecture , error: unknown type name 'v4si'
Trending Discussions on ijkplayer

QUESTION

Compiling ijkplayer x264 for android x86 & x86_64 Architecture , error: unknown type name 'v4si'

Asked 2020-Jun-04 at 10:20

I'm trying to build this project https://github.com/simplepeng/ijkplayer-x264 but building x264 failing for x86 and x86_64 architectures . Link of the issue : https://github.com/simplepeng/ijkplayer-x264/issues/1

ANSWER

Answered 2020-Jun-04 at 10:20

You use mix of different architectures for configure and compilation with options:

--cross-prefix=i686-linux-android- --host=arm-linux

In result configure thinks that you compiles for ARM platform but make use i686-linux-android-gcc for cross compilation. You should use:

--cross-prefix=i686-linux-android- --host=i686-linux-android

Source https://stackoverflow.com/questions/62127577

Community Discussions, Code Snippets contain sources that include Stack Exchange Network

Vulnerabilities

No vulnerabilities reported

Install ijkplayer

Android:
Gradle
iOS
in coming...
Common
Mac OS X 10.11.5
Android
NDK r10e
Android Studio 2.1.3
Gradle 2.14.1
iOS
Xcode 7.3 (7D175)
HomeBrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
If you prefer more codec/format
If you prefer less codec/format for smaller binary size (include hevc function)
If you prefer less codec/format for smaller binary size (by default)
For Ubuntu/Debian users.
If you'd like to share your config, pull request is welcome.

Support

Please do not send e-mail to me. Public technical discussion on github is preferred.请尽量在 github 上公开讨论技术问题,不要以邮件方式私下询问,恕不一一回复。

DOWNLOAD this Library from

Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

Explore Related Topics

Share this Page

share link
Consider Popular Video Utils Libraries
Compare Video Utils Libraries with Highest Support
Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from
over 430 million Knowledge Items
Find more libraries
Reuse Solution Kits and Libraries Curated by Popular Use Cases

Save this library and start creating your kit

  • © 2022 Open Weaver Inc.