ffmpeg编译

ffmpeg编译很早之前就做过,但是就是太早了,今天要做一些新的尝试,就是禁止一些选项,但是呢?居然编译不过,因此从头再来一次

1、下载源代码 http://ffmpeg.org/    

2、查看帮助信息 我们都有个惯性思维,文档时doc这样的问题件,但是ffmpeg的文档不是,是什么的呢?

是./configure --help|more 这个

3、./configure --list-decoders 这个可以看到的是 支持的解码

sudo cp -r ffmpeg_build.sh ffmpeg/ffmpeg_build.sh 这个是mac 系统下的拷贝文件的命令

在编译成Android 平台能识别的 so库 参考文章

https://blog.csdn.net/qq_16265959/article/details/78329555?locationNum=4&fps=1

有一步是必须要的

 ./configure

不然会报  ffbuild/config.mak: No such file or directory
Makefile:40: /tools/Makefile: No such file or directory

/Users/fujiangren/Library/Android/sdkup/ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64/arm-linux-androideabi-gcc is unable to create an executable file.
C compiler test failed.

虽然报这个错的原因很多 但是要指定恩编译的gcc一定要对 系统可能会自带一个gcc

我的环境 指定的gcc是 TOOLCHAIN=/Users/fujiangren/Desktop/ijkplayer/lant/android-android1/android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/darwin-x86_64  注意 这个路径可能会随着版本的不同而改动 PLATFORM_VERSION=android-9 这个设置了9 ,当时心血来潮 顺手改了10 ndk版本没有对应的这个版本的,真是踩坑不断,注意,我当时是怎么想的呢?就是说版本太低了,看不顺眼 改了下

libavformat/udp.c 的错误,后来是把ffmpeg讲到了3.4.5才编译通过,以前下载都是通过clone 方式下载的,后来发现这个是版本的管理的,也就是那些大神还真在开发的,哈哈,还是去下载release版本的,More releases 这里 有每个版本的release版本,其实下载无需选择哪个平台对么,因为关键是编译使用的是么平台对么 还是报错,报什么呢?./libavutil/timer.h:38:31: fatal error: linux/perf_event.h: No such file or directory 后来把target-os = android 才编译通过

./configure --enable-shared --disable-yasm --prefix=/Users/fujiangren/Desktop/ffmpeg/imooc/ffmpeg_4_make/ffmpeg1/libffmpeg 静态库配置

猜你喜欢

转载自blog.csdn.net/renfujiang/article/details/84201725