1.编译环境
Mac OS Monterey 12.1
NDK r10e 下载
Android Studio Arctic Fox | 2020.3.1 Patch 4
Gradle 4.2.1
2.编译步骤
参考官方编译文档,准备好编译环境,配置好NDK SDK环境变量
https://github.com/bilibili/ijkplayer#before-build
其中执行./compile-ffmpeg.sh all 执行后结果为:
--------------------
[*] link ffmpeg
--------------------
link compat/*.o
link libavcodec/*.o
link libavcodec/x86/*.o
link libavfilter/*.o
link libavformat/*.o
link libavutil/*.o
link libavutil/x86/*.o
link libswresample/*.o
link libswresample/x86/*.o
link libswscale/*.o
link libswscale/x86/*.o
--------------------
[*] create files for shared ffmpeg
--------------------
--------------------
[*] Finished
--------------------
# to continue to build ijkplayer, run script below,
sh compile-ijk.sh
./compile-ijk.sh all执行后结果为:
[arm64-v8a] Compile : ijksdl <= ijksdl_aout.c
[arm64-v8a] Compile : ijksdl <= ijksdl_egl.c
[arm64-v8a] Compile : ijksdl <= ijksdl_vout.c
[arm64-v8a] Compile : ijksdl <= color.c
[arm64-v8a] Compile : ijksdl <= common.c
[arm64-v8a] Compile : ijksdl <= renderer.c
[arm64-v8a] Compile : ijksdl <= renderer_rgb.c
[arm64-v8a] Compile : ijksdl <= renderer_yuv420p.c
[arm64-v8a] Compile : ijksdl <= renderer_yuv444p10le.c
[arm64-v8a] Compile : ijksdl <= shader.c
[arm64-v8a] Compile : ijksdl <= rgb.fsh.c
[arm64-v8a] Compile : ijksdl <= yuv420p.fsh.c
[arm64-v8a] Compile : ijksdl <= yuv444p10le.fsh.c
[arm64-v8a] Compile : ijksdl <= mvp.vsh.c
[arm64-v8a] Compile : ijksdl <= ijksdl_vout_dummy.c
[arm64-v8a] Compile : ijksdl <= ijksdl_vout_overlay_ffmpeg.c
[arm64-v8a] Compile : ijksdl <= image_convert.c
[arm64-v8a] Compile : ijksdl <= android_nativewindow.c
[arm64-v8a] Compile : ijksdl <= ijksdl_vout_android_nativewindow.c
[arm64-v8a] Compile : ijksdl <= ijksdl_vout_android_surface.c
[arm64-v8a] Compile : ijksdl <= ijksdl_vout_overlay_android_mediacodec.c
[arm64-v8a] Install : libijkffmpeg.so => libs/arm64-v8a/libijkffmpeg.so
[arm64-v8a] SharedLibrary : libijksdl.so
[arm64-v8a] Install : libijksdl.so => libs/arm64-v8a/libijksdl.so
[arm64-v8a] SharedLibrary : libijkplayer.so
[arm64-v8a] Install : libijkplayer.so => libs/arm64-v8a/libijkplayer.so
其它平台根据编译脚本也会打印类似结果
3.运行
1.Android studio 选择android/ijkplayer/导入工程
2.修改gradle
3.修改build.gradle(ijkplayer-example)