参考:https://blog.csdn.net/bobcat_kay/article/details/80889398

https://github.com/RoyGuanyu/build-scripts-of-ffmpeg-x264-for-android-ndk

音视频教学:链接: https://pan.baidu.com/s/1w9o5C6vIj07pj3zlNK0pfg 密码: r8qc

1.之前编译ffmepg 直接用git 放下下载下来,查百度 ffmpeg的编译步骤,但是在编译的时候总是在build.sh的时候第一步直接报各种错,最后思考是不是ffmpeg版本不匹配不上的问题。接下来就到fmpeg官网下载了4.0.1版本。

2.下载完成后搜索了红色链接中的,使用了里面build.sh内容,编译的时候能可以执行并看到了执行到最后warnning部分,说明了确实是之前的问题确实跟版本有关。因为链接中的build.sh 只生成了config.h ,修改build.sh 使得其可以去编译so库

 

#!/bin/bash
NDK=/home/zdy/ide/ndk/android-ndk-r10e
SYSROOT=$NDK/platforms/android-21/arch-arm/
CPU=armv7-a
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
PREFIX=$(pwd)/android/$CPU
ADDI_CFLAGS="-marm"
OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "


function build_android
{
#生成config.h
./configure \
--prefix=$PREFIX \
--enable-neon \
--enable-hwaccels \
--enable-shared \
--enable-jni \
--enable-mediacodec \
--enable-decoder=h264_mediacodec \
--disable-static \
--disable-doc \
--enable-ffmpeg \
--disable-ffplay \
--disable-ffprobe \
--enable-avdevice \
--disable-doc \
--disable-symver \
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
--target-os=android \
--arch=arm \
--cpu=armv7-a \
--enable-cross-compile \
--sysroot=$SYSROOT \
--extra-cflags="-Os -fpic $ADDI_CFLAGS" \
--extra-ldflags="$ADDI_LDFLAGS" \
$ADDITIONAL_CONFIGURE_FLAG


#开始编译
sed -i '' 's/HAVE_LRINT 0/HAVE_LRINT 1/g' config.h
sed -i '' 's/HAVE_LRINTF 0/HAVE_LRINTF 1/g' config.h
sed -i '' 's/HAVE_ROUND 0/HAVE_ROUND 1/g' config.h
sed -i '' 's/HAVE_ROUNDF 0/HAVE_ROUNDF 1/g' config.h
sed -i '' 's/HAVE_TRUNC 0/HAVE_TRUNC 1/g' config.h
sed -i '' 's/HAVE_TRUNCF 0/HAVE_TRUNCF 1/g' config.h
sed -i '' 's/HAVE_CBRT 0/HAVE_CBRT 1/g' config.h
sed -i '' 's/HAVE_RINT 0/HAVE_RINT 1/g' config.h
make clean
make -j4
make install
}
build_android

 

 

编译可以生成so

更多相关文章

  1. android各个版本代号
  2. 查看已經下載好ANDROID源碼是什麽版本號
  3. 百度地图移动版API 1.2.2版本(Android)地图偏移的最佳解决办法
  4. js判断移动终端浏览器版本信息
  5. 老版本ndk 下载链接
  6. andriod 4.0以上版本添加了 android:configChanges="keyboardHid
  7. androidの4.4版本沉浸式透明状态栏与导航栏案例
  8. android中的自动链接

随机推荐

  1. Android数据库升级、降级、创建(onCreate
  2. android 使用opencv4 图片相似度对比
  3. Android(安卓)SurfaceHolder处理SurfaceV
  4. Android(安卓)adb 环境变量配置的坑 adb
  5. Android(安卓)Design in Action —— 编
  6. Android模拟器常见问题
  7. 【Android(安卓)Developers Training】 9
  8. android安装和卸载的adb命令
  9. android拨号的源码分析
  10. Android后退事件的处理