Android平台移植ffmpeg解决方案及意义
65 浏览量
更新于2024-07-15
收藏 279KB PDF 举报
"快速解决Android平台移植ffmpeg的一些问题"
本文主要讲述了如何快速解决Android平台移植ffmpeg的一些问题。ffmpeg是一个功能强大且广泛使用的多媒体处理框架,但是将其移植到Android平台上却面临着一些挑战。本文将基于havlenapetr移植的ffmpeg基础上,实现了ffmpeg的播放接口,如setDataSource(),setDisplay(),start(),stop(),pause()等,并对移植步骤进行了详细的讲解。
一、Android平台移植ffmpeg的意义
Android平台移植ffmpeg的意义在于解决了Android媒体框架OpenCore的多媒体支持不足。虽然说Android平台的软解功耗大,但是从PC机的发展历史看,Android的视频处理以后也会走以硬解为主,软解为辅的路线。此外,ffmpeg还可以解决Android平台直播的问题,实现完整的直播方案,并且可以聚集基于mms协议的视频内容。
二、移植步骤
1. 下载havlenaptr移植的ffmpeg(https://github.com/havlenapetr/FFMpeg/zipball/debug)。
2. 基于ndk编译下载的ffmpeg,出现的编译问题主要是文件的存放路径不对,修改jni目录下的Android.mk文件,增加头文件目录$(LOCAL_PATH)/../inc"。
三、实现ffmpeg的播放接口
模仿Android的MediaPlayer类实现了ffmpeg的播放接口,如setDataSource(),setDisplay(),start(),stop(),pause()等,缺点是没有实现seek功能。这种实现方式可以使得应用程序在java层直接操作ffmpegAPI,实现各种媒体格式转码及播放。
四、ffmpeg的java层封装
havlenapetr移植的ffmpeg将媒体相关的结构体在java层重新进行了封装,方便应用程序在java层直接操作ffmpegAPI,如图1所示。这种封装方式可以使得应用程序更加方便地使用ffmpeg,实现各种媒体处理功能。
五、实现一个简单播放器功能
havlenapetr移植的ffmpeg还实现了一个简单播放器功能,抛弃掉ffmpeg自带的ffplay播放器,重新实现了音视频的分离播放和同步处理等播放器应有的功能。
本文讲述了如何快速解决Android平台移植ffmpeg的一些问题,实现了ffmpeg的播放接口,并对移植步骤进行了详细的讲解。这种解决方案可以帮助开发者更好地使用ffmpeg,实现各种媒体处理功能。
2015-07-02 上传
146 浏览量
2014-04-22 上传
2013-01-17 上传
2013-09-03 上传
2014-04-17 上传
2019-10-10 上传
2013-03-30 上传
2020-12-30 上传
weixin_38565480
- 粉丝: 5
- 资源: 927
最新资源
- JDK 17 Linux版本压缩包解压与安装指南
- C++/Qt飞行模拟器教员控制台系统源码发布
- TensorFlow深度学习实践:CNN在MNIST数据集上的应用
- 鸿蒙驱动HCIA资料整理-培训教材与开发者指南
- 凯撒Java版SaaS OA协同办公软件v2.0特性解析
- AutoCAD二次开发中文指南下载 - C#编程深入解析
- C语言冒泡排序算法实现详解
- Pointofix截屏:轻松实现高效截图体验
- Matlab实现SVM数据分类与预测教程
- 基于JSP+SQL的网站流量统计管理系统设计与实现
- C语言实现删除字符中重复项的方法与技巧
- e-sqlcipher.dll动态链接库的作用与应用
- 浙江工业大学自考网站开发与继续教育官网模板设计
- STM32 103C8T6 OLED 显示程序实现指南
- 高效压缩技术:删除重复字符压缩包
- JSP+SQL智能交通管理系统:违章处理与交通效率提升