Android全格式播放器开发(第二节 ffplay精简)

第二节ffplay精简

作者:xdongp@gmail.com

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

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

---------------------------------------------------


由于ffplay有很多参数,在android移植起来不太必要,因为我们就只需其播放功能。因此我们需要将一些不必要的逻辑去掉,方便移植。

         主要是去掉以下功能:

         1,字幕功能(android播放中如果涉及字幕,就想相对麻烦一些,因此去掉)

         2,单独音频播放功能(由于我们是做视频播放器,音乐显示可以去掉)

         3,命令行的控制功能(由于我们使用android framework作为界面控制,所以命令行控制也不需要了)

         4,去掉AVFILTER功能

                           

开始动刀:

cd /home/xdpan/work

mkdirkupalyer

cd kupalyer/

cp../ffmpeg-0.11.1/ffplay.c  ./

cp ffplay.ckuplayer.c

具体删除过程略过,可以查看kuplayer.c和ffplay.c的差异

新建Makefile文件

target=kuplayer

incdir=/home/xdpan/local/include

libdir=/home/xdpan/local/lib

ldflags=-lavformat-lavutil -lswscale -lavcodec -lswresample -lSDL

all:$(target)

 

kuplayer:kuplayer.c

        gcc $(ldflags)  -I$(incdir) -L$(libdir) $< -o $@

 

clean:

        rm $(target) *.O  

编译:

make

测试:

         在/home/xdpan/media/放入test.mp4文件

         ./kuplayer就能够进行播放了

                  

出错处理:

gcc  -o ff   kuplayer.c  -lavformat -lavutil -lswscale -lavcodec-lswresample -lSDL -I/home/xdpan/local/include -L/home/xdpan/local/lib

kuplayer.c:33:34:error: libavutil/colorspace.h: No such file or directory

kuplayer.c:In function ‘queue_picture’:

kuplayer.c:1435:warning: passing argument 2 of ‘sws_scale’ from incompatible pointer type

/usr/local/include/libswscale/swscale.h:237:note: expected ‘const uint8_t * const*’ but argument is of type ‘uint8_t **’

make: ***[ff-mini] Error 1

处理方法:

把/home/xdpan/work/ffmpeg-0.11.1/libavutil/colorspace.h拷贝到头文件目录

sudo cp  /home/xdpan/work/ffmpeg-0.11.1/libavutil/colorspace.h/usr/local/include/libavutil

        

 

源文件如下(或者在虚拟机对应目录中提取):

kuplayer.c


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值