https://github.com/windsome/ffmpeg-android.git
为了能在android平台上播放全格式的多媒体文件,我们需要自己做一个多媒体播放器。android自带的opencore系统解码格式较少,只支持 mp4和ogg,并且结构不是很好理解。如果要加其他的解码方式实在太费劲。经过考虑,基于ffmpeg实现全功能的播放器比较容易并且成本比较低。(ffmpeg移植后的内容我已经放到git@github.com:windsome/ffmpeg-android.git上,有兴趣的可以直接下载,在android2.1上编过,不知道在其他android版本上能不能编过)
本文讨论制作全格式多媒体播放器的第一步:ffmpeg 移植。
第一步:得到别人已经移植过的一个比较旧的android平台上的ffmpeg。地址为 http://gitorious.org/~olvaffe/ffmpeg/ffmpeg-android ,我们将使用其*.mk 文件。我将此源码放到一个临时目录中。
第二步:得到新版本的ffmpeg。地址为 http://ffmpeg.org/download.html 。一般用git clone 得到。我将源码放到了android源码树的external/目录下。
第三步:configure ffmpeg ,目的是得到android平台上的config.mak和config.h文件。所以只需要configure成功即可,不必编译,稍候我们会在android源码树下编译。
export PREBUILT=/home/Dev/android/prebuilt/linux-x86/toolchain/arm-eabi-4.4.0
./configure --target-os=linux
--arch=armv41
--enable-cross-compile
--cc=$PREBUILT/bin/arm-eabi-gcc
--cross-prefix=$PREBUILT/bin/arm-eabi-
--nm=$PREBUILT/bin/arm-eabi-nm
--extra-cflags="-fPIC -DANDROID"
--enable-static
--disable-shared
--disable-asm
--disable-yasm
--prefix=`pwd`/android_bin
--extra-ldflags="-Wl,-T,$PREBUILT/arm-eabi/lib/ldscripts/armelf.x -Wl,-rpath-link=/home/Dev/android/out/target/product/generic/obj/lib -L/home/Dev/android/out/target/product/generic/obj/lib -nostdlib $PREBUILT/lib/gcc/arm-eabi/4.4.0/crtbegin.o $PREBUILT/lib/gcc/arm-eabi/4.4.0/crtend.o -lc -lm -ldl"
解释一下,PREBUILT为我的android编译器路径,我使用的是android源码树下的tool-chian。configure命令中除了目录可能不一样外,其他的应该不需要做改动。
第四步:将临时目录中的ffmpeg-android下的*.mk拷贝到android源码树的external/ffmpeg目录下。这样就完成了移植。(这一步中,可能需要做修改,我将需要修改的文件打了个包,放在附件中)
第五步:在android目录下make libavutil libavcodec libavformat libswscale。
注:我已经基于最新的ffmpeg(0.6版本-git-6157eab)做的改动上传了。你只需要将附件解压,并替换源ffmpeg中相应的文件,即可直接执行第五步。
分享到:
相关推荐
资源文件为FFmpeg编译的Android平台动态库(so库),FFmpeg版本是3.4.2,支持架构:arm(armv7-a)、arm64、x86、x86_64。 库基本未裁减,若需要自己编译或裁减FFmpeg,可参看此脚本:...
资源文件为FFmpeg编译的Android平台静态库(.a库),FFmpeg版本是3.4.2,支持架构:arm(armv7-a)、arm64、x86、x86_64。 库基本未裁减,若需要自己编译或裁减FFmpeg,可参看此脚本:...
内含ffmpeg源码,能编译成libffmpeg.so和libffmpeg-jni.so,编译成功后将两个.so拷贝到项目中能直接使用。编译中遇到问题可在我的博客中提问。
基于网上牛人的 FFmpeg for android源码编译后的源码,原来的需要NDK 这个是我build过的直接用eclipse导入,连上手机就可以运行。
FFmpeg For Android (三) 移植main函数到安卓上执行ffmpeg命令 完整源码 执行在安卓上执行ffmpeg命令, 示范了音频剪切和视频格式转换 有了它 你可以做很多有趣的app
FFmpeg for Android Introduction ======================================================= FFmpeg for Android is a set of Android makefiles which enable configuration and building FFmpeg library under ...
ffmpeg for android 4.4.4
编译ffmpeg for android,在windows10下编译android平台可用的ffmpeg3.3
ffmpeg for android。写jni的人应该都知道把
编译好的ffmpeg for Android的库,jni模式。不用再去编译了
4.0.2的编译过的ffmpeg全款so for Android,给有需要的朋友直接学习ffmpeg
ubuntu下 编译 ffmpeg for Android 的配置文件,包含编译出 armv7-a 和编译成 armv8-a的配置文件,仅仅这两个文件
一个简单的FFMPEG示例程序源代码,可直接编译运行在Arm Android设备上。 详细请阅http://blog.csdn.net/u013007470/article/details/53821264
ubuntu下编译ffmpeg 2.5.1 包含头文件和so库,可直接移植使用。
在Linux环境下编译的ffmpeg for android 设置 enable--freetype
在ubuntu18.4平台上编译FFmpeg-3.4 for Android .os库文件,为 Android 平台上使用库文件FFmpeg对视频音频进步的处理。
Android-ffmpeg-android.zip,ffmpeg for android使用x264、libass、fontconfig、freetype、fribidi和lame编译(支持android 4.1 ),安卓系统是谷歌在2008年设计和制造的。操作系统主要写在爪哇,C和C 的核心组件。它...
之前有人反馈之前上传的下载不了,我再次上传一次,如果有问题及时给我发邮件,或者可以关注一下我,给我发私信,咱们互相学习!(android端代码,FFmpeg实现为视频加水印, 邮箱:1213236113@qq.com)