小视频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播放器的相关代码, 更多内容欢迎关注之后的文章

posted @ 2021-08-24 14:18  云豹科技-苏凌霄  阅读(192)  评论(0编辑  收藏  举报