基于Android平台的ffmpeg的移植和应用.pdfVIP

基于Android平台的ffmpeg的移植和应用.pdf

  1. 1、本文档共11页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于Android平台的ffmpeg的移植和应用.pdf

基于Android平台的ffmpeg的移植和应用 张寅昊 江苏润和软件股份有限公司 E-mail:zhang_yinhao@ 摘要:随着Android平台引爆新的潮流,Android上的应用也火热起来。为了弥补Android 平台本身对多媒体支持的薄弱,本文介绍了将目前成熟的开源多媒体框架ffmpeg移植到 Android中的技术要点。 关键词:Android,ffmpeg,ffserver,jni,makefile,ndk,多媒体 1 1 引言 11 随着Google公司2007年11月5日宣布新一代基于linux平台的开源手机操作系统名称 为Android后,短短几年,Android系统便引爆了移动互联网的热潮。2011年初数据显示, 仅正式上市两年的操作系统Android已经超越称霸十年的塞班系统,使之跃居全球最受欢迎 的智能手机平台。现在,Android系统不但应用于智能手机,也在平板电脑市场急速扩张, 在智能MP4方面也有较大发展。采用Android系统主要厂商包括中国台湾的HTC(第一台谷 歌的手机G1由HTC 生产代工)、韩国三星、韩国原道、美国摩托罗拉、索尼爱立信等,中 国大陆厂商如:首派(A101、A100、A80、A60S 及未上市的A70),魅族(M9),华为、中 兴、联想、蓝魔等。 本论文基于公司项目,因为Android本身的多媒体框架opencore支持的视频格式只有 3gp和mp4两种,因此项目将移植ffmpeg来扩展android平台编解码,并利用ffserver 作为 流媒体服务器,以实现通过摄像头拍摄的视频能直接远程连接观看。论文将着重讲解ffmpeg 的移植,jni的调用,ffserver的配置以及ffmpeg和ffserver间的通信。 2 2 项目设计 22 2.1 2.1 22..11 项目总体结构图 PC 播放 或其它 网络设 备 传输 编码 手 机 端 camera 采集 2.2 2.2 22..22 各部分详细说明 2.2.1 2.2.1 22..22..11 采集 通过Android摄像头采集原始数据。摄像头数据的采集共有两种方法。一是利用ffmpeg 的v4l2 接口,找到系统的摄像头文件,在Linux系统中,摄像头文件一般为/dev/video0,但 在Android系统中各厂商的通常自己实现摄像头得驱动,因此摄像头文件都不一样,这样如 果使用ffmpeg的v4l2接口从底层抓取数据的话,就会造成软件的通用性变差,故弃而不用。 Android中另一种取得摄像头数据的方法是通过上层Google 提供的统一API,在摄像头 的Preview 通过回调函数onPreviewFrame可以得到原始数据,一般是yuv420sp。 2.2.2 2.2.2 22..22..22 编码 在java 层得到的数据,通过jni传递给c层,在c层调用ffmpeg对其编码。 2.2.3 2.2.3 22..22..33 传输 传输前先要启动ffserver,然后调用ffmpeg将视频流化后传给ffserver。 2.2.4 2.2.4 22..22..44 播放 Ffserver接受视频流后将其存储在feed1.ffm中,当网络上或者本地有播放请求时进行播 放。 3ffmpeg 3ffmpeg的移植 33ffffmmppeegg FFmpeg是一个开源免费跨平台的

您可能关注的文档

文档评论(0)

ziyouzizai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档