|
1 | 1 | # ijkplayer |
2 | 2 |
|
3 | | -使用最新 IDE 编译了 B 站 ijkplayer,不做功能上的开发,仅为了让老用户能够在新设备上继续使用。 |
4 | | - |
5 | | -## 特色: |
6 | | - |
7 | | -将依赖库编译成静态库,预编译出了 Android 平台的 ijkpalyer.aar 和 iOS 平台预编译的 IJKMediaFramework.xcframework。 |
8 | | - |
9 | | -## 对比 |
10 | | - |
11 | | -| 类别 | B 站 ijkplayer | debugly/ijkplayer | 备注 | |
12 | | -| ----------- | ----------------------------------- | -------------------------- | -------------------------------- | |
13 | | -| 安卓库 | ijkplayer.so,ijkffmpeg.so,ijksdl.so | ijkplayer.arr | 从三个so缩减成一个arr,内部是一个 ijkpalyer.so | |
14 | | -| iOS库 | - | IJKMediaPlayer.xcframework | 通过 xcframework 分发 | |
15 | | -| ABI | armv5 armv7a arm64 x86 x86_64 | armv7a arm64 x86 x86_64 | 剔除 armv5 架构 | |
16 | | -| build-tools | ndk-build | cmake | 一套cmake支持所有ABI,无须每个 ABI 一个文件夹 | |
17 | | -| NDK | r10e | r27c | 使用最新最稳定的 NDK | |
18 | | -| openssl | 可选 | 默认包含 | 升级到了最新 1.1.1w | |
19 | | -| yuv | 源码编译 | 预编译成.a | 升级到了较新的stable分支 | |
20 | | -| soundtouch | 源码编译 | 预编译成.a | 升级到了最新 2.3.3 | |
21 | | -| soxr | 支持 | 不支持 | 音频重采样库,暂不编译了,有问题时可加上 | |
22 | | - |
23 | | -老旧项目一直在使用 B 站 ijkplayer 并且功能完全可以满足的情况下,可直接升级上来,好处是升级了编译工具链,能够正常在最新的安卓15 和 iOS18 上正常运行。 |
| 3 | +<img src="https://img.shields.io/badge/Platform-%20iOS%20Android-blue.svg"> |
| 4 | + |
| 5 | +## 特色 |
| 6 | + |
| 7 | +- [x] 支持安卓15 和 iOS18 |
| 8 | +- [x] 保留了原汁原味的 ijkpalyer,功能没有变化 |
| 9 | +- [x] 预编译出了 Android 平台的 ijkpalyer.arr,取代之前的三个 so |
| 10 | +- [x] 预编译出了 iOS 平台的 IJKMediaFramework.xcframework |
| 11 | +- [x] ABI 支持:armv7a arm64 x86 x86_64 |
| 12 | +- [x] NDK 使用最新最稳定的 r27c |
| 13 | +- [x] 将依赖的 ffmpeg、openssl 等所有三方库编译成静态库 |
| 14 | +- [x] openssl 升级到了最新 1.1.1w |
| 15 | +- [x] soundtouch 升级到了 2.3.3,并且预编译成静态库 |
| 16 | +- [x] yuv 升级到最稳定分支最新提交,并且预编译成静态库 |
| 17 | +- [x] 使用 cmake 重新组织工程,抛弃之前的 ndk-build |
| 18 | +- [x] 合并 jni 调用,缩减了 so 的数量 |
| 19 | +- [x] 使用全新的编译脚本 |
24 | 20 |
|
25 | 21 | ## 安装使用 |
26 | 22 |
|
27 | | -- ios |
| 23 | +- iOS |
28 | 24 |
|
29 | 25 | ``` |
30 | 26 | pod "IJKMediaFramework", :podspec => 'https://github.com/debugly/ijkplayer/releases/download/k0.8.9/IJKMediaFramework.spec.json' |
|
42 | 38 |
|
43 | 39 | 原版 demo 可以正常运行: |
44 | 40 |
|
45 | | -- ios |
| 41 | +- iOS |
46 | 42 |
|
47 | 43 | ``` |
48 | 44 | git submodule update --init |
|
64 | 60 |
|
65 | 61 | 如果 ijkplayer 功能不能满足当前复杂的业务需求,则可以使用 ijkplayer 的升级版 [fsplayer](https://github.com/debugly/fsplayer) ,它提供了更加强劲的功能。 |
66 | 62 |
|
67 | | -## Donate |
68 | | - |
69 | | -维护本项目花费了大量时间和精力,特别是安卓项目,为了让本项目长存,你应该请作者喝杯咖啡,哈哈... |
| 63 | +## 定制功能 |
70 | 64 |
|
71 | | - |
| 65 | +请邮件联系:[debugly@icloud.com](mailto:debugly@icloud.com) |
0 commit comments