如何把ffmpeg移植到android

发布网友 发布时间:2022-04-24 14:22

我来回答

2个回答

热心网友 时间:2023-10-16 04:50

  1
  首先把系统环境配置好,一般情况系统默认都会安装gcc和make编译工具。若提示未安装编译工具,请使用sudo apt-get install build-essential安装即可。
  2
  修改编译后库的版本号,在ffmpeg目录下找到configure文件,将下图所示的4行代码修改为
  SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
  LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
  SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
  SLIB_INSTALL_LINKS='$(SLIBNAME)'

  3
  将以下代码保存到build.sh中

  #!/bin/bashNDK=/home/robot/tools/android-ndk-r8eSYSROOT=$NDK/platforms/android-14/arch-arm/TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86_
  function build_ffmpeg{./configure \ --prefix=$PREFIX \ --enable-shared \ --disable-static \ --disable-doc \ --disable-ffserver \ --enable-cross-compile \ --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \ --target-os=linux \ --arch=arm \ --sysroot=$SYSROOT \ --extra-cflags="-Os -fpic $ADDI_CFLAGS" \ --extra-ldflags="$ADDI_LDFLAGS" \ $ADDITIONAL_CONFIGURE_FLAG}PREFIX=$(pwd)/androidADDI_CFLAGS="-marm"build_ffmpeg
  4
  使用命令修改build文件的属性
  chmod a+x build.sh
  5
  接下来就是执行build.sh文件,"."表示当前目录
  ./build.sh
  执行成功后,会生成config.h配置文件
  6
  开始编译,
  make
  make install
  执行成功会在Android目录下生成一系列目录,bin、include、lib、share,生成的库就在lib目录下

热心网友 时间:2023-10-16 04:50

FFmpeg是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。采用LGPL或GPL许可证。它提供了录制、转换以及流化音视频的完整解决方案。因此将编译成库其移植到Android上,以实现Android音视频软件的开发。
工具/原料
Ubuntu 14.04 LTS
FFmpeg源码,百度FFmpeg进入官网下载,目前版本是ffmpeg-2.6.3.tar
NDK,android-ndk-r8e,Android的C、C++开大工具包
方法/步骤
首先把系统环境配置好,一般情况系统默认都会安装gcc和make编译工具。若提示未安装编译工具,请使用sudo apt-get install build-essential安装即可。
修改编译后库的版本号,在ffmpeg目录下找到configure文件,将下图所示的4行代码修改为
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'

将以下代码保存到build.sh中

#!/bin/bashNDK=/home/robot/tools/android-ndk-r8eSYSROOT=$NDK/platforms/android-14/arch-arm/TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.7/prebuilt/linux-x86_
function build_ffmpeg{./configure \ --prefix=$PREFIX \ --enable-shared \ --disable-static \ --disable-doc \ --disable-ffserver \ --enable-cross-compile \ --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \ --target-os=linux \ --arch=arm \ --sysroot=$SYSROOT \ --extra-cflags="-Os -fpic $ADDI_CFLAGS" \ --extra-ldflags="$ADDI_LDFLAGS" \ $ADDITIONAL_CONFIGURE_FLAG}PREFIX=$(pwd)/androidADDI_CFLAGS="-marm"build_ffmpeg
使用命令修改build文件的属性
chmod a+x build.sh
接下来就是执行build.sh文件,"."表示当前目录
./build.sh
执行成功后,会生成config.h配置文件
开始编译,
make
make install
执行成功会在Android目录下生成一系列目录,bin、include、lib、share,生成的库就在lib目录下

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com