Android全格式播放器开发(第一节ffplay编译)

Android全格式播放器开发

作者:xdongp@gmail.com

博客:http://www.weibo.com/xdpan

工程地址:http://code.google.com/p/kudou-player/

 

引言

开发Android播放器已经有一段时间了,从一个对视频知识完全不了解,到后来能够开发独立播放器,经过了一段时间的学习。为了把学习经验留下来,特写此文章。在学习过程中,主要是通过阅读源码来了解程序的基本原理。本文是根据自己的一知半解,潦草成文,希望对大家有点帮助。本文程序大多来自开源代码,因此所以代码均开源。从开源中学习,回馈开源。本文源码都收集在虚拟机中,大家可以下载,裤兜播放器工程已经上传到google code中

 


 

 

第一节ffplay编译

 

 

ffplay的移植,我们首先学会编译ffplay的linux版本,了解其相关特性,我们这里选择debian作为开发环境。

 

1.      环境准备

主要使用linux作为开发环境,可以使用实体机linux或者虚拟机。如果有linux开发环境以后,此步骤可以跳过。我们以debian虚拟机为例子。安装debian的虚拟机,从http://www.thoughtpolice.co.uk/vmware/下载vmware镜像

http://downloads.sourceforge.net/thoughtpolicevm/debian-6.0.2.1-i386-minimal.zip

建立虚拟机即可

登陆虚拟机,由于虚拟机上建立用户,方便我们使用,我们需要建立用户

使用root登陆(thoughtpolice镜像的root密码是: "thoughtpolice"),建立用户xdpan:

user addxdpan

su  -l  xdpan

 安装gcc编译环境

sudoapt-get  install build-essential

sudo apt-getinstall openssh-server

 环境已经安装完成

   

2.     编译sdl(Simple DirectMedia Layer)

         SDL(SimpleDirectMedia Layer)是一套开放源代码的跨平台多媒体开发库,使用C语言写成。SDL提供了数种控制图像、声音、输出入的函数,让开发者只要用相同或是相似的代码就可以开发出跨多个平台(Linux、Windows、Mac OS X等)的应用软件。目前SDL多用于开发游戏、模拟器、媒体播放器等多媒体应用领域。

        

         ffplay的声音和图像输出,都是使用SDL库,目前SDL稳定版本是SDL-1.2.15,但是此版本不支持android平台。从SDL-1.3开始,就支持android的平台了,但是SDL-1.3以下版本差异较大。由于ffplay是基于老版本的SDL编写的,直接采用SDL-1.3以上版本ffplay是不能编译通过的。本次我们采用SDL-1.2.15进行编译。

cd/home/xpan/work

sudo apt-getinstall libdirectfb-dev

axel -n4http://www.libsdl.org/release/SDL-1.2.15.tar.gz

tar -xvfSDL-1.2.15.tar.gz

./configure--prefix=/usr/local && make -j4

sudo  make install

更新ldconfig,以便程序自动加载

sudo vim/etc/ld.so.conf.d/SDL.conf

添加/usr/local/lib 到 /etc/ld.so.conf.d/SDL.conf中

重新加载库

 sudo ldconfig        

 

 

3.      编译ffplay

由于ffplay移植已经有一段时间了,之前采用的ffmpeg版本是0.11.1,所以我们就采用0.11.1版本编译

由于ffmpeg中编解码器有汇编优化代码,所以需要汇编编译器。安装汇编编译器如下:

sudo apt-getinstall yasm

         下载编译ffmpeg

axel  -n4http://www.ffmpeg.org/releases/ffmpeg-0.11.1.tar.gz

tar -xvfffmpeg-0.11.1.tar.gz

cdffmpeg-0.11.1/

./configure  --prefix=/usr/local/  --enable-shared

make -j4

sudo makeinstall

 

查看/usr/local/bin/ffplay文件存在,编译完成

测试播放:

/usr/local/


 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值