android全格式多媒体播放器(一:ffmpeg移植)
来源:互联网 发布:网络推广怎么拿提成 编辑:程序博客网 时间:2024/04/24 10:11
作者 QQ: 35327864,msn: fgwf1@hotmail.com,mail: agooou@gmail.com
为了能在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中相应的文件,即可直接执行第五步。
(可以从http://blogimg.chinaunix.net/blog/upfile2/100921213615.bz2下载)
- android全格式多媒体播放器(一:ffmpeg移植)
- android全格式多媒体播放器(一:ffmpeg移植)
- android全格式多媒体播放器(一:ffmpeg移植)
- android全格式多媒体播放器(一:ffmpeg移植) 收藏
- android全格式多媒体播放器(一:ffmpeg移植)-转载
- android全格式多媒体播放器(三:基于ffmpeg架构的具体实现)
- android全格式多媒体播放器(三:基于ffmpeg架构的具体实现)
- android全格式多媒体播放器(三:基于ffmpeg架构的具体实现)
- android全格式多媒体播放器(三:基于ffmpeg架构的具体实现)
- android全格式多媒体播放器(二:opencore媒体系统解析)
- android全格式多媒体播放器(二:opencore媒体系统解析)
- android全格式多媒体播放器(二:opencore媒体系统解析)
- Android全格式播放器开发(第三节ffmpeg android编译)
- Android多媒体开发入门教程一:FFMPEG移植到Android
- 移植ffmpeg 到android 编写播放器(一)——序言
- 移植havlenapetr的ffmpeg-->Android播放器
- 移植havlenapetr的ffmpeg-->Android播放器
- Android全格式播放器开发(第五节ffplay android移植)
- JOB
- CSS小知识
- MyEclipse SSH初体验
- 借助 flot 将 HTML 表格中的内容变成图形
- Janu. 5
- android全格式多媒体播放器(一:ffmpeg移植)
- android全格式多媒体播放器(二:opencore媒体系统解析)
- Win32 下内存泄漏检测的一个方法
- android全格式多媒体播放器(三:基于ffmpeg架构的具体实现)
- 免费虚拟现实软件下载(VEStudio2.0实时阴影Beta版)
- ext
- 我是程序员么?
- 简单工厂模式
- 成功焊接BGA芯片技巧