小视频app源码在Mac系统下编译并使用ijkplyer播放器
小视频app源码在Mac系统下编译并使用ijkplyer播放器
使用Homebrew安装yasm、pkg-config。
下载NDK官网地址,编译ffmpeg时会用到,编译ijkplayer中的ffmpeg需要NDK-r10 ~ NDK-r14版本,其它版本可能会报错。
在命令行中依次运行:
# 克隆ijkplayer项目源码 git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android # 进入ijkplayer目录 cd ijkplayer-android # 切换到最新代码分支 git checkout -B latest k0.8.8 # 检查并下载ffmpeg代码 # 需要注意因为github网速原因,很容易会下载失败 # 或者多重试几次,让代码分次下载 ./init-android.sh # 配置文件在ijkplayer-android/config目录下,可以手动修改module.sh配置 # ijkplayer使用的默认配置是module-lite.sh,其他两种配置目前是被废弃状态,直接切换使用时会报错linux/perf_event.h: No such file or directory,需要添加配置: # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-linux-perf" # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-bzlib" # 1.module-default.sh 支持较多格式(完全编译,几乎所有格式都支持了),文件较大 # 2.module-lite-hevc.sh 支持较少格式,包含hevc # 3.module-lite.sh 支持较少格式(默认) cd config rm module.sh ln -s module-lite.sh module.sh source module.sh # 手动修改配置文件module-lite.sh,例如要支持avi格式视频播放,在module.sh文件中,加上 # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-muxer=avi" # export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxer=avi" # 此外还要将export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --disable-demuxers" # 修改为export COMMON_FF_CFG_FLAGS="$COMMON_FF_CFG_FLAGS --enable-demuxers" # enable-muxer和enable-demuxer两项是配置支持更多格式视频,后面加上需要支持的格式即可支持播放,另外--disable-demuxers需要改为--enable-demuxers # 手动修改module-lite.sh的配置支持avi格式视频这种方式我这一直没办法成功,最后直接把module配置切换到了module-default.sh,成功播放avi视频 # 编译ffmpeg,需要用到NDK,ijkplayer编译的NDK版本需要10~14。配置NDK有两种方式 # 1.在~/.zshrc中添加系统环境 # 终端输入vim ~/.zshrc # 在打开的文件中,插入: # export ANDROID_NDK=/Users/xxxxx/android-ndk-r14b #ANDROID_NDK换成自己NDK路径 # export PATH=${PATH}:${ANDROID_NDK} # 终端输入source ~/.zshrc 使生效 # 键入ndk-build -v 验证NDK配置是否生效 # 但是第一种方式对我无效,编译ffmpeg时仍然会提示没有没找到ANDROID_NDK,所以如果第一种方式无效推荐使用第二种方式 # 2.在终端命令行中通过export引入路径,终端键入:export ANDROID_NDK=/Users/xxxxx/android-ndk-r14b,然后再编译ffmpeg cd android/contrib export ANDROID_NDK=/Users/xxxxx/android-ndk-r14b ./compile-ffmpeg.sh clean ./compile-ffmpeg.sh all cd .. ./compile-ijk.sh all # 最后编译好的so库在ijkplayer-android/android/ijkplayer/ijkplayer-${CPU}/src/main/libs目录下 # CPU = arm64/armv5/armv7a/x86/x86_64
以上就是小视频app源码在Mac系统下编译并使用ijkplyer播放器的相关代码, 更多内容欢迎关注之后的文章