首先下载  FFmpeg

(如果想将FFMPEG安装到系统里请看 Ubuntu16.04 FFMPEG 编译与安装 )

下载完成之后解压文件,进入文件中 将 configure打开

SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'LIB_INSTALL_EXTRA_CMD='$$(RANLIB) "$(LIBDIR)/$(LIBNAME)"'SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR) $(SLIBNAME)'

替换成

SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'  LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'  SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'  SLIB_INSTALL_LINKS='$(SLIBNAME)' 

保存之后

在configure 新建脚本 build_ffmpeg_for_android.sh 增加权限 chmod 777 build_ffmpeg_for_android.sh

 build_ffmpeg_for_android.sh脚本的内容如下:

#!/bin/bashLIB_DIR=$(pwd)/Android;# ffmpeg编译输出前缀PREFIX=$LIB_DIR/ffmpeg/$CPU#设置你自己的NDK位置#NDK_HOME=/Users/superlea/android-ndk-r10e#设置你自己的平台,这上linux上的,Mac换成darwin-x86_64#NDK_HOST_PLATFORM=darwin-x86_64#设置你自己的NDK位置NDK_HOME=/home/chencl/SoftWare/android-ndk-r13bNDK_HOST_PLATFORM=linux-x86_64COMMON_OPTIONS="\    --target-os=android \    --disable-static \    --extra-libs=-lgcc \    --enable-shared \    --enable-small \    --disable-programs \    --disable-ffmpeg \    --disable-ffplay \    --disable-ffprobe \    --disable-doc \    --disable-symver \    --disable-asm \    "function build_android {    ./configure \    --libdir=${PREFIX}/libs/armeabi-v7a \    --incdir=${PREFIX}/includes/armeabi-v7a \    --pkgconfigdir=${PREFIX}/pkgconfig/armeabi-v7a \    --arch=arm \    --cpu=armv7-a \    --cross-prefix="${NDK_HOME}/toolchains/arm-linux-androideabi-4.9/prebuilt/${NDK_HOST_PLATFORM}/bin/arm-linux-androideabi-" \    --sysroot="${NDK_HOME}/platforms/android-19/arch-arm/" \    --extra-cflags="-march=armv7-a -mfloat-abi=softfp -mfpu=neon" \    --extra-ldexeflags=-pie \    ${COMMON_OPTIONS}    make clean    make -j8 && make install    ./configure \    --libdir=${PREFIX}/libs/arm64-v8a \    --incdir=${PREFIX}/includes/arm64-v8a \    --pkgconfigdir=${PREFIX}/pkgconfig/arm64-v8a \    --arch=aarch64 \    --cpu=armv8-a \    --cross-prefix="${NDK_HOME}/toolchains/aarch64-linux-android-4.9/prebuilt/${NDK_HOST_PLATFORM}/bin/aarch64-linux-android-" \    --sysroot="${NDK_HOME}/platforms/android-21/arch-arm64/" \    --extra-ldexeflags=-pie \    ${COMMON_OPTIONS}     make clean    make -j8 && make install    ./configure \    --libdir=${PREFIX}/libs/x86 \    --incdir=${PREFIX}/includes/x86 \    --pkgconfigdir=${PREFIX}/pkgconfig/x86 \    --arch=x86 \    --cpu=i686 \    --cross-prefix="${NDK_HOME}/toolchains/x86-4.9/prebuilt/${NDK_HOST_PLATFORM}/bin/i686-linux-android-" \    --sysroot="${NDK_HOME}/platforms/android-19/arch-x86/" \    --extra-ldexeflags=-pie \    ${COMMON_OPTIONS}     make clean    make -j8 && make install    ./configure \    --libdir=${PREFIX}/libs/x86_64 \    --incdir=${PREFIX}/includes/x86_64 \    --pkgconfigdir=${PREFIX}/pkgconfig/x86_64 \    --arch=x86_64 \    --cpu=x86_64 \    --cross-prefix="${NDK_HOME}/toolchains/x86_64-4.9/prebuilt/${NDK_HOST_PLATFORM}/bin/x86_64-linux-android-" \    --sysroot="${NDK_HOME}/platforms/android-21/arch-x86_64/" \    --extra-ldexeflags=-pie \    ${COMMON_OPTIONS}    make clean    make -j8 && make install};build_android

在跟补录运行 build_ffmpeg_for_android.sh 耗时较长 

之后生成的有 Android文件夹,查看Android文件夹(Android文件夹加锁  执行sudo chmod 777 -R  Android/ )

目录结构如下: 

其中 libs 文件为各个平台的下的支持库.

├── includes  #头文件│   ├── arm64-v8a│   ├── armeabi-v7a│   ├── x86│   └── x86_64├── libs    #库文件│   ├── arm64-v8a│   │   ├── libavcodec.so│   │   ├── libavdevice.so│   │   ├── libavfilter.so│   │   ├── libavformat.so│   │   ├── libavutil.so│   │   ├── libswresample.so│   │   └── libswscale.so│   ├── armeabi-v7a│   │   ├── libavcodec.so│   │   ├── libavdevice.so│   │   ├── libavfilter.so│   │   ├── libavformat.so│   │   ├── libavutil.so│   │   ├── libswresample.so│   │   └── libswscale.so│   ├── x86│   │   ├── libavcodec.so│   │   ├── libavdevice.so│   │   ├── libavfilter.so│   │   ├── libavformat.so│   │   ├── libavutil.so│   │   ├── libswresample.so│   │   └── libswscale.so│   └── x86_64│       ├── libavcodec.so│       ├── libavdevice.so│       ├── libavfilter.so│       ├── libavformat.so│       ├── libavutil.so│       ├── libswresample.so│       └── libswscale.so└── pkgconfig    ├── arm64-v8a    ├── armeabi-v7a    ├── x86    └── x86_64

 

更多相关文章

  1. 一款常用的 Squid 日志分析工具
  2. GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
  3. RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
  4. Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
  5. Android与mqtt双向SSL认证
  6. android 制作开机logo(bootanimation.zip)
  7. 转 android背景选择器selector用法汇总
  8. android文件、资源读取总结
  9. android资源文件详细介绍

随机推荐

  1. android 实现调查问卷-单选-多选
  2. 【Android 电量优化】电量优化 ( 网络状
  3. Android string.xml文件中使用格式化符号
  4. android工程下不能运行java main程序的解
  5. Android签名机制学习笔记
  6. 【Android RTMP】安卓直播推流总结 ( 直
  7. android核心基础(12)_创建模拟器时常见问
  8. Android:unable to start Activity ...的
  9. android chess---main.xml
  10. Android:FragmentTransaction