Android全格式播放器开发(第二节 ffplay精简)
来源:互联网 发布:小米淘宝直营店 编辑:程序博客网 时间:2024/06/02 03:37
第二节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
- Android全格式播放器开发(第二节 ffplay精简)
- Android全格式播放器开发(第一节ffplay编译)
- Android全格式播放器开发(第六节 ffplay界面开发)
- Android全格式播放器开发(第五节ffplay android移植)
- Android全格式播放器开发(第七节 播放器优化)
- Android全格式播放器开发(第四节sdl android编译)
- Android全格式播放器开发(第八节 播放器性能测试)
- Android全格式播放器开发(第三节ffmpeg android编译)
- android全格式多媒体播放器(一:ffmpeg移植)
- android全格式多媒体播放器(一:ffmpeg移植)
- android全格式多媒体播放器(一:ffmpeg移植)
- FFplay 播放器
- android全格式多媒体播放器(二:opencore媒体系统解析)
- android全格式多媒体播放器(三:基于ffmpeg架构的具体实现)
- android全格式多媒体播放器(一:ffmpeg移植) 收藏
- android全格式多媒体播放器(三:基于ffmpeg架构的具体实现)
- android全格式多媒体播放器(二:opencore媒体系统解析)
- android全格式多媒体播放器(一:ffmpeg移植)-转载
- PHP框架简介
- 大二下学期阶段目标
- dbca时出现ASM磁盘组权限问题ora-27303
- CSS z-index 属性的使用方法和层级树的概念
- 操作DropDownList、CheckBoxList和RadioButton的js
- Android全格式播放器开发(第二节 ffplay精简)
- Android APK及签名
- 最详细SQL注入教程
- Myeclipse设置提示快捷键Alt+/
- 如何使用DevExpress DXTREME进行应用程序的视图设置
- Launcher源码初探
- Sql SerVer 查询行转列、列转行
- RCP-布局管理器之网格式
- 从Trie树(字典树)谈到后缀树(10.28修订)