FFmpeg编译并集成到android studio

栏目: Android · 发布时间: 5年前

内容简介:下载ffmpeg3.4

1.FFmpeg编译

   1.1准备工作

      下载ubuntu 18.04.2 www.ubuntu.com/download/de… (本人是直接在              linux上开发的,如果在windows上需要安装虚拟机)

下载ffmpeg3.4 ffmpeg.org/releases/ff… (目前最新版本编译死        的时候有问题,所以选择先用老版本,3.4版本后不需要更改configure文件内容)

下载ndk developer.android.google.cn/ndk/downloa…

(目前用的是r14b,其他版本试过没成功)

   1.2编译过程

准备编译脚本

#!/bin/bash

echo "进入编译ffmpeg脚本" 
NDK=/home/fanqile/Desktop/android-ndk-r16 
#5.0
PLATFORM=$NDK/platforms/android-21/arch-arm
TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
CPU=armv7-a 
#输出路径
PREFIX=./android/$CPU 
function buildFF 
{ 
 echo "开始编译ffmpeg" 
 ./configure \
 --prefix=$PREFIX \
 --target-os=android \
 --cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi- \
 --arch=arm \
 --cpu=$CPU  \
 --sysroot=$PLATFORM \
 --extra-cflags="$CFLAG" \
 --cc=$TOOLCHAIN/bin/arm-linux-androideabi-gcc \
 --nm=$TOOLCHAIN/bin/arm-linux-androideabi-nm \
 --enable-shared \
 --enable-runtime-cpudetect \
 --enable-gpl \
 --enable-small \
 --enable-cross-compile \
 --disable-debug \
 --disable-static \
 --disable-doc \
 --disable-ffmpeg \
 --disable-ffplay \
 --disable-ffprobe \
 --disable-ffserver \
 --disable-postproc \
 --disable-avdevice \
 --disable-symver \
 --disable-stripping \
 $ADDmake 
 -j16
 make install
 echo "编译结束!"
 }########################################################### 
echo "编译支持neon和硬解码"
CPU=armv7-a
PREFIX=./android/armv7-a-neon-hard
CFLAG="-I$PLATFORM/usr/include -fPIC -DANDROID -mfpu=neon -mfloat-abi=softfp "
ADD="--enable-asm \
--enable-neon \
--enable-jni \
--enable-mediacodec \
--enable-decoder=h264_mediacodec \
--enable-hwaccel=h264_mediacodec "
buildFF
###########################################################
echo "编译不支持neon和硬解码"
CPU=armv7-a
PREFIX=./android/$CPU
CFLAG="-I$PLATFORM/usr/include -fPIC -DANDROID -mfpu=vfp -mfloat-abi=softfp "
ADD=
buildFF
复制代码

注:复制的情况下要把\后面空格去掉

开始编译

先把刚写完的脚本命名为build_android.sh,然后把它保存到ffmpeg3.4文件夹中,再ffmpeg文件夹空白处右键打开终端,通过 linux 命令给build_android.sh赋予最高权限

FFmpeg编译并集成到android studio

然后输入./build_android.sh开始编译,大概等几分钟就编译完成了

FFmpeg编译并集成到android studio

现在ffmpeg3.4文件夹下就新生成了一个android文件夹,里面有两个文件,一个是支持neon和硬解码,一个是不支持的

FFmpeg编译并集成到android studio

再进进去就有三个文件夹,第一个是头文件,第二个是so库,第三个是案例

FFmpeg编译并集成到android studio

1.3移植到androidstudio

打开android studio 新建工程,勾选c++

FFmpeg编译并集成到android studio

后面再选c++11,后面直接next就好了

FFmpeg编译并集成到android studio

工程建好后,把前面编译好的库复制到app/libs中

FFmpeg编译并集成到android studio

接着开始编译CmakeLists.txt(前提是要安装cmake,sdk manager里可以选择)

FFmpeg编译并集成到android studio

后面开始配置app中的build.gradle

FFmpeg编译并集成到android studio

最后点Build——make project ,完成,build里生成 libnative-lib.so

FFmpeg编译并集成到android studio

整个编译到移植到这里全部完成了。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Growth Hack 這樣做

Growth Hack 這樣做

Xdite / PCuSER電腦人文化 / 2016-5-7 / 300.00台幣

◎具體教你在預算有限的情況之下,把成長做出來的可行與必要方法! ◎帶動台灣成長駭客話題的專業講師,親授讓產品突破80分的成長秘笈 @這本書要給誰看? 1. 創業者、個人品牌經營者,想要提高自己服務轉換率的人。 2. 空有產品,但是賣不出去,花了錢投廣告卻效果低落的人。 @這本書有什麼不一樣? 1.全球最重要的趨勢,台灣最知名的 Growth Hack 講師 Xd......一起来看看 《Growth Hack 這樣做》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具