第一步先安装linux虚拟机,这里我使用的是mingw,windows上还有很多这种工具,我就不一一介绍了
mingw的安装包我也上传到百度云了,连接在下面
链接:https://pan.baidu.com/s/1ZlnkKoz4mqjgDa3adcNN6Q
提取码:ieh4
https://www.jianshu.com/p/e9ff7b654c4a
这是安装的教程,切记一定要按照教程一步步来,有一个步骤我特别提醒一下
这里不懂的全部点上,之后呢我们在C:\MinGW\msys\1.0目录下有个msys.bat。先点开,之后需要用到。
当然这是前奏,之后我们就开始ffmpeg的编译之路了,我们需要下载ffmpeg源码,这里你一定要用我的,每个版本的ffmpeg源码都不一样我这里用的是3.2.12版本,这里的源码有些地方我已经优化过了,rtsp流媒体播放的一些优化。连接如下:链接:https://pan.baidu.com/s/1Z5mjMRon_jxPj6D3hLMUmQ
提取码:h0p7
下载之后就是其他的我已经改好了你只需要改动这里build_android.sh,打开这个文件会显示如下:
#!/bin/bash
ADDI_CFLAGS="-marm"
API=27
PLATFORM=arm-linux-androideabi
CPU=armv7-a
NDK=D:/Android/Sdk/ndk-bundle # 修改自己本地的ndk路徑
SYSROOT=NDK/platforms/android−API/arch-arm/
ISYSROOT=NDK/sysrootASM=ISYSROOT/usr/include/PLATFORMTOOLCHAIN=NDK/toolchains/KaTeX parse error: Expected 'EOF', got '#' at position 39: …indows-x86_64 #̲注意這裏,一定是windows…OUTPUT
–enable-shared
–disable-static
–disable-doc
–disable-ffmpeg
–disable-ffplay
–disable-ffprobe
–disable-avdevice
–disable-doc
–disable-symver
–cross-prefix=KaTeX parse error: Expected 'EOF', got '\
' at position 38: …x-androideabi- \̲
̲--target-os=and…SYSROOT
–extra-cflags="-I$ASM -isysroot $ISYSROOT -Os -fpic -marm"
–extra-ldflags="-marm"
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install
}
echo “开始编译fmpeg…”
build_one
echo “完成编译…”
需要改的地方我都已经注释了,之后你会看到需要ndk,这个时候切记,用我的ndk版本,因为每个版本有差异,我这里用的是r17版本,连接如下:链接:https://pan.baidu.com/s/1MsWZbqsMjY6dMhhRetqlfQ
提取码:6cfq
下载之后放到你的sdk主干目录下解压,然后复制路径粘贴到
这里。之后点开刚刚我们打开的msys.bat虚拟机,之后我们
复制ffmpeg 的路径过去,记得修改\,在linux下这个斜杠是不识别的,需要改成/。进入目录后开始执行build_android.sh脚本,
执行之后你就会看到停顿在编译的那句话不动,然后你需要等待之后会出现一堆的编译信息,不要动让他编译,大概十几二十分钟在ffmpeg目录下会多一个android 文件夹,编译好的头文件也在,之后里面的lib目录会有我们需要的so库。
相关文章
- 02-01win10编译ffmpeg so库
- 02-01win10 vs2019 编译curl库
- 02-01编译ffmpeg后需要连接库
- 02-01NDK编译FFMPEG库及MeadiaCodec等库出现的各种问题
- 02-01win10上Intelligent IDEA配置和编译rust的quiche库
- 02-01cocos2d-x android项目引用so库编译
- 02-01Linux FFmpeg依赖库编译
- 02-01linux gcc 编译动态类库(.so)和静态类库(.a)
- 02-01C++---初识《通过g++ / makefile 编译和调用动态库so文件》(ubuntu)
- 02-01linux 动态库(.so)、静态库编译命令与调用(.a);