美文网首页
Linux环境下编译FFmpeg

Linux环境下编译FFmpeg

作者: Pro47x | 来源:发表于2018-02-28 16:36 被阅读0次

    记录一下自己的学习过程

    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即可。

    相关文章

      网友评论

          本文标题:Linux环境下编译FFmpeg

          本文链接:https://www.haomeiwen.com/subject/sykixftx.html