Linux环境下编译FFmpeg

2018-02-28  本文已影响0人  Pro47x

记录一下自己的学习过程

1.首先创建一个Linux虚拟机,我用的是阿里云服务器ubuntu;

2.进入Linux根目录,创建NDK文件夹,使用wget命令下载NDK,使用 unzip android-ndk-r14b-linux-x86_64.zip 解压ndk压缩包;

3.配置NDK环境变量,使用 vim ~/.bashrc 命令打开bashrc文件,在尾部增加


export NDKROOT=/usr/ndk/android-ndk-r14b

export PATH=$NDKROOT:$PATH

并使用 source~/.bashrc 更新环境变量;

4.进入Linux根目录,创建FFmpeg文件夹,使用wget命令下载FFmpeg,使用 tar -xzf 命令解压;

5.创建一个sh脚本


#!/bin/bash

make clean

export NDK=/ndk_build/android-ndk-r14b

export SYSROOT=$NDK/platforms/android-9/arch-arm/

export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64

export CPU=arm

export PREFIX=$(pwd)/android/$CPU

export ADDI_CFLAGS="-marm"

./configure --target-os=linux \

--prefix=$PREFIX --arch=arm \

--disable-doc \

--enable-shared \

--disable-static \

--disable-yasm \

--disable-symver \

--enable-gpl \

--disable-ffmpeg \

--disable-ffplay \

--disable-ffprobe \

--disable-ffserver \

--disable-doc \

--disable-symver \

--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \

--enable-cross-compile \

--sysroot=$SYSROOT \

--extra-cflags="-Os -fpic $ADDI_CFLAGS" \

--extra-ldflags="$ADDI_LDFLAGS" \

$ADDITIONAL_CONFIGURE_FLAG

make clean

make

make install

6.修改FFmpeg目录下的configure文件,把其中原来的改成如下


SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'

LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'

SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'

SLIB_INSTALL_LINKS='$(SLIBNAME)'

6.运行脚本即可编译FFmpeg了,然后把目录下生成的android文件夹中的so和头文件导入到android studio即可。

上一篇下一篇

猜你喜欢

热点阅读