ijkPlayer主要包含了android, extra, ijkmedia, ios几个核心源码目录
android 目录包括了android 平台上层接口提供、用例等等
----ijkplayer:android 测试用例,直接导入android studio后可以使用(但需要事先先编译好so库)
----compile-ijk.sh:ijkplayer总的编译脚本文件,生成libijksdl.so和libijkplayer.so文件,并同时将这两文件及相应平台的libijkffmpeg.so拷贝到android-ijkplayer-ijkplayer-xxx目录下,拷贝目录是android-contrib-ffmpeg-xxx(下面会介绍到)
----contrib----compile-ffmpeg.sh:ffmpeg总的编译脚本文件,最终调用的是tools下的do-compile-ffmpeg.sh,执行后在会contrib目录下升成一个build文件夹,在该文件夹下生成各个平台的的so库文件。编译时可以选择只编译相应用平台。
----contrib----ffmpeg-xxx:不同平台的ffmpeg的源码目录
----contrib----tools:ffmpeg的编译脚本所需的工具,包括了ndk版本要求检查
----config:ffmpeg的module配置目录,可以对ffmpeg进行裁剪优化等等,这个裁剪包括了支持哪些编解码器、流媒体协议等等
----extra:这个目录只是用来备份相关源码,如ffmpeg、libyuv等等,如contrib-ffmpeg-xxx不同平台的源码就是从这拷贝过去的
----ijkmedia:最主要的核心代码
----ijkmedia----ijkplayer核心代码实现,其中包括与android上层交互的实现、基本的解协议、编解码的基本流程。
----ijkmedia----ijksdl:音视频渲染相关,ijks