出于so大小考虑,编译so只支持了常用的视频编码,如果需要支持额外类型,可重新编译ijkplayer源码,配置module.sh然后编译so,替换现在项目中的so,注意so的版本要和ijk的java版本一致。编译流程可参考首页编译https的so流程。
简单来说,mp4并不是视频编码,可以称为视频容器,而H264/H263等这样才是视频编码,AAC为音频编码等。
对于视频相关的,推荐雷宵骅的视频基础:视音频编解码技术零基础学习方法,这里你可以了解到视频和音频相关编码和协议的东西。
项目默认支持的视频编码和音频编码有如下,更多详细配置可查看编译配置文件。
--enable-decoder=aac"
--enable-decoder=aac_latm"
--enable-decoder=flv"
--enable-decoder=h263"
--enable-decoder=h263i"
--enable-decoder=h263p"
--enable-decoder=h264"
--enable-decoder=mp3*"
--enable-decoder=vp6"
--enable-decoder=vp6a"
--enable-decoder=vp6f"
--enable-decoder=hevc"