@@ -10,12 +10,12 @@ At present MRFFToolChain contained `ass、bluray、dav1d、dvdread、ffmpeg、fr
1010
1111## Supported Plat
1212
13- | platform | architectures | minimum deployment target |
14- | ----- | -------------------------------------- | ----- |
15- | iOS | arm64、arm64_simulator、x86_64_simulator | 11.0 |
16- | tvOS | arm64、arm64_simulator、x86_64_simulator | 12.0 |
17- | macOS | arm64、x86_64 | 10.11 |
18- | Android | arm64、armv7a、x86_64、x86 | 21 |
13+ | platform | architectures | minimum deployment target |
14+ | ----- | --------------------------------------| ----------------------- ----- |
15+ | iOS | arm64、arm64_simulator、x86_64_simulator | 11.0 |
16+ | tvOS | arm64、arm64_simulator、x86_64_simulator | 12.0 |
17+ | macOS | arm64、x86_64 | 10.11 |
18+ | Android | arm64、armv7a、x86_64、x86 | 21 |
1919
2020## News
2121
@@ -37,128 +37,83 @@ At present MRFFToolChain contained `ass、bluray、dav1d、dvdread、ffmpeg、fr
3737Tips:
3838
3939```
40- 1、FFmpeg is not denpendent on Ass.
41- 2、ijkplayer is denpendent on FFmpeg and Ass.
42- 3、when install pre-compiled lib, will containes it's denpendencies.
40+ 1、ffmpeg is not denpendent on ass.
41+ 2、fsplayer is denpendent on ffmpeg and ass.
42+ 3、ijkplayer is denpendent on ijkffmpeg.
43+ 4、FFmpegTutorial is denpendent on fftutorial.
44+ 4、when install pre-compiled lib, will containes it's denpendencies.
4345```
4446
45- ## Folder structure
47+ ## Download/Install Pre-compiled Libs
4648
47- ```
48- ├── README.md
49- ├── build #编译目录
50- │ ├── extra #源码仓库
51- │ ├── pre #下载的预编译库
52- │ ├── product #编译产物
53- │ └── src #构建时源码仓库
54- ├── configs #三方库配置信息
55- │ ├── default.sh
56- │ ├── ffconfig #FFmpeg功能裁剪选项
57- │ ├── libs #三方库具体配置,包括库名,git仓库地址等信息
58- │ └── meson-crossfiles
59- ├── do-compile #三方库编译过程
60- │ ├── android #安卓平台
61- │ └── apple #苹果平台
62- ├── do-init #初始化三方库仓库
63- │ ├── copy-local-repo.sh
64- │ ├── init-repo.sh
65- │ └── main.sh
66- ├── do-install #下载安装预编译的三方库
67- │ ├── download-uncompress.sh
68- │ ├── install-pre-lib.sh
69- │ ├── install-pre-xcf.sh
70- │ └── main.sh
71- ├── main.sh #脚本入口
72- ├── patches #给三方库打的补丁
73- │ ├── bluray
74- │ ├── ffmpeg -> ffmpeg-n6.1
75- │ ├── ffmpeg-n4.0
76- │ ├── ffmpeg-n5.1
77- │ ├── ffmpeg-n6.1
78- │ ├── ffmpeg-release-5.1
79- │ ├── smb2
80- │ ├── smb2-4.0.0
81- │ ├── uavs3d
82- │ └── yuv
83- └── tools #通用工具方法
84- ├── export-android-build-env.sh
85- ├── export-android-host-env.sh
86- ├── export-android-pkg-config-dir.sh
87- ├── export-apple-build-env.sh
88- ├── export-apple-host-env.sh
89- ├── export-apple-pkg-config-dir.sh
90- ├── gas-preprocessor.pl
91- ├── ios.toolchain.cmake
92- ├── parse-arguments.sh
93- └── prepare-build-workspace.sh
94- ```
95-
96- ## Download/Install Pre-compiled libs
97-
98- 直接从 github 下载我预编译好的库,这种方式可节省大量时间。
99-
100- 预编译库已经将 patches 目录下的补丁全部打上了。
49+ Save yourself a great deal of time by directly downloading the pre-compiled libraries from GitHub.
10150
102- 安装方法:
51+ These pre-compiled libraries already applied patches which in the patches directory.
10352
10453``` bash
105- # 查看帮助是个好习惯
54+ # Check the help first
10655./main.sh install --help
107- # 使用方式随便举例:
56+ # Examples of usage:
10857./main.sh install -p macos -l ffmpeg
10958./main.sh install -p ios -l ' ass ffmpeg'
11059./main.sh install -p tvos -l all
11160./main.sh install -p android -l all
11261```
11362
114- ## Compile by yourself
63+ ## Compile by Yourself
11564
116- ### Init lib repos
65+ ### Initialize Library Repositories
11766
118- 不要浪费自己的时间去编译这些库,除非你修改了源码!
119- 直接下载我白嫖 github 预先编译好的库不好么!
67+ Don't waste your time compiling these libraries unless you've modified the source code!
68+ Why not just download the pre-compiled libraries I've prepared using GitHub actions?
12069
121- 脚本参数比较灵活,可根据需要搭配使用,常用方式举例:
70+ The script parameters are flexible and can be combined as needed. Here are some common examples:
12271
12372```
124- #查看帮助是个好习惯
73+ # Check the help first
12574./main.sh init --help
126- #准备 iOS 平台源码所有库的源码
75+ # Prepare source code for all libraries for the iOS platform
12776./main.sh init -p ios -l all
128- #准备 iOS 平台x86架构下所有库的源码
77+ # Prepare source code for all libraries for the x86 architecture on iOS
12978./main.sh init -p ios -l all -a x86_64_simulator
130- #准备 macOS 平台源码所有库的源码
79+ # Prepare source code for all libraries for the macOS platform
13180./main.sh init -p macos -l all
132- #准备 iOS 平台的某些库的源码
81+ # Prepare source code for specific libraries for the iOS platform
13382./main.sh init -p ios -l "openssl ffmpeg"
134- #准备 Android 平台的某些库的源码
135- ./main.sh init -p anroid -l "openssl ffmpeg"
83+ # Prepare source code for specific libraries for the Android platform
84+ ./main.sh init -p android -l "openssl ffmpeg"
13685```
13786
13887### Compile
13988
140- 查看帮助是个好习惯
89+ Once the source code repository initialization is complete, you can start the compilation process.
14190
14291```
92+ # Check the help first
14393./main.sh compile --help
144- # 根据帮助可知 -p 参数指定平台;-c 参数指定行为,比如:build是编译,rebuild是重编等; -l 指定要编译的库;-a 指定 cpu 架构。
94+ # As shown in the help:
95+ # -p specifies the platform
96+ # -c specifies the action (e.g., build for compilation, rebuild for recompilation)
97+ # -l specifies the libraries to compile
98+ # -a specifies the CPU architecture
14599```
146- 使用方式随便举例:
100+
101+ Examples of usage:
147102
148103```
149- #比如编译 ios 平台所有依赖库
104+ Compile all dependencies for the iOS platform
150105./main.sh compile -c build -p ios -l all
151- #比如编译 ios 平台 arm64 架构下的 libass 库
106+ # Compile the libass library for the arm64 architecture on iOS
152107./main.sh compile -c build -p ios -a arm64 -l ass
153108```
154109
155- 脚本对于这些参数的顺序没有要求,可以随意摆放。
110+ The order of these parameters does not matter; they can be arranged in any sequence.
156111
157112### Support Mirror
158113
159- 如果 github 上的仓库克隆较慢,或者需要使用内网私有仓库,可在执行编译脚本前声明对应的环境变量!
114+ If cloning repositories from GitHub is slow, or if you need to use an internal private repository, you can declare the corresponding environment variables before running the compilation script!
160115
161- | 名称 | 当前版本 | 仓库地址 | 使用镜像 |
116+ | Lib Name | Current Version | Repository URL | Mirror Repository URL |
162117| ----------- | -------| ------------------------------------------------------- | -------------------------------------------------------- |
163118| FFmpeg | 6.1.2 | https://github.com/FFmpeg/FFmpeg.git | export GIT_FFMPEG_UPSTREAM = git@xx: yy /FFmpeg.git |
164119| ass | 0.17.3 | https://github.com/libass/libass.git | export GIT_ASS_UPSTREAM = git@xx: yy /libass.git |
@@ -180,6 +135,12 @@ Tips:
180135
181136## Tips
182137
138+ - To download pre-compiled xcframework libraries, add the --fmwk parameter when using the install command.
139+ - To skip pulling remote repositories during initialization, add the --skip-pull-base parameter when using the init command.
140+ - To skip applying FFmpeg patches during initialization, add the --skip-patches parameter when using the init command.
141+ - Currently, FFmpeg uses the module-full.sh configuration, resulting in slightly larger package sizes.
142+ - You can download all pre-compiled GitHub libraries to your own server and specify your server address using MR_DOWNLOAD_BASEURL before running the install command.
143+
183144- 可下载预编译的 xcframework 库,只需要在 install 时加上 --fmwk 参数
184145- 初始化仓库时,可跳过拉取远端到本地,只需要在 init 时加上 --skip-pull-base 参数
185146- 初始化仓库时,可跳过应用 FFmpeg 的补丁,只需要在 init 时加上 --skip-patches 参数
@@ -188,14 +149,8 @@ Tips:
188149
189150## Donate
190151
191- 编译三方库很费时间,本人想为开源社区贡献一份微薄的力量,因此将 debugly/ijkplayer 依赖的三方库,全部预编成静态库和 xcframework 供大家使用。
192-
193- 如果您想要为开源社区贡献一份力量,请买杯咖啡给我提提神儿。
194-
195- ![ donate.jpg] ( https://i.postimg.cc/xdVqnBLp/IMG-7481.jpg )
152+ Compiling third-party libraries is time-consuming. I aim to contribute to the open-source community by pre-compiling all third-party libraries required by debugly/ijkplayer into static libraries and xcframeworks for public use.
196153
197- 感谢以下朋友对 debugly/MRFFToolChainBuildShell 的支持:
154+ If you'd like to contribute to the open-source community, consider buying me a coffee to keep me energized.
198155
199- - 海阔天也空
200- - 小猪猪
201- - 1996GJ
156+ ![ donate.jpg] ( https://i.postimg.cc/xdVqnBLp/IMG-7481.jpg )
0 commit comments