Android平台移植FFmpeg

来源:互联网 发布:淘宝捉猫猫时装碎片 编辑:程序博客网 时间:2024/05/18 00:47

FFmpeg简介

FFmpeg是一个全球领先的多媒体框架,能够友好的在大部分设备实现解码、编码、转码、复用、解复用、流媒体、过滤和播放。谈到音视频处理必须提到雷霄骅博士(行内称为雷神),我想音视频开发的从业人员应该都看过雷神的博客,这里首先致敬一下雷神,博客地址:《雷霄骅的博客专栏》,分享了很多音视频方面的技术文章、开源代码以及 FFMPEG 源码的分析,无论对入门者还是资深开发,都有很大的价值。

本系列文章主要讲解Android平台对FFmpeg这个开源库的集成,实现一些Android相关的音视频处理的功能。作为一个非资深的Android音视频开发者,希望和大家共同学习,一起提升。

1. FFmpeg的编译

FFmpeg是使用C语言编写的库,移植到Android平台上需要编译为so文件,网上关于FFmpeg编译的资料很多,请自行搜索这里不再赘述。编译成功后,会在FFmpeg的根目录下会生成一个Android目录,包括一个include目录(一些头文件)和一些so文件。如果没有编译成功,也可以下载本文的源码(里面有我编译成功的so库和头文件)。

这里使用的IDE工具是Android Studio,需要配置java和ndk相关的环境变量,配置成功后我们就可以在Android Studio里面的Terminal命令窗口使用javah和ndk-build命令,这个很重要。

2. 在Android程序中打印FFmpeg版本信息

这里开始我们最简单的一个打印FFmpeg版本信息的Android程序,PS:Android平台中使用FFmpeg库,需要懂一些NDK和C++相关的知识。

-1-build.gradle文件的编写

在build.gradle文件的buildTypes中添加下面的内容,添加后的内容如下:

buildTypes {    release {        minifyEnabled false        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'    }    sourceSets {        main {           jni.srcDirs = []        }    }}

-1-build.gradle文件的编写

这里写图片描述

原创粉丝点击