ijkplayer库介绍
现在ijkplayer播放器应用的非常广泛,很多播放器基本上都是基于ijkplayer二次迭代开发的,众所周知,ijkplayer是基于ffplay的,所以要使用ijkplayer,就必须使用三个so库。
jeffmony@JeffMonydeMacBook-Pro arm64-v8a % ls -hl
total 21240
-rwxr-xr-x 1 jeffmony staff 9.6M 4 30 00:25 libijkffmpeg.so
-rwxr-xr-x 1 jeffmony staff 348K 4 30 00:25 libijkplayer.so
-rwxr-xr-x 1 jeffmony staff 474K 4 30 00:25 libijksdl.so
其中一个libijkffmpeg.so库非常大,有近9.6M,这个非常吓人了,当然你可以裁剪一些不用的库。
但是ijkplayer毕竟只是播放视频才用到的。但是ijkplayer底层是基于ffmpeg的ffplay播放框架,也就是说ffmpeg也集成到了libijkffmpeg.so中了。
这就有点意思了,那我们需要引用ffmpeg中的一些方法就不用额外的编译库了,直接使用libijkffmpeg.so中的文件就可以的。
1.节省了空间大小,防止重复编译ffmpeg导致的包体积增大。
2.native接口不用和ijkplayer的上层写在一起,可以单独写,完全不影响。
看一下这个提交: github.com/JeffMony/Pl…
1.复用libijkffmpeg.so
2.引入ffmpeg头文件
3.编译生成新的so
利用ijkplayer中ffmpeg代码生成头文件
具体的build_ffmpeg.sh如下:
#!/bin/bash
export NDK_ROOT=/