当前位置:主页 > 科技论文 > 信息工程论文 >

Android多媒体平台下基于FFMPEG的音视频处理方案研究

发布时间:2017-09-25 12:04

  本文关键词:Android多媒体平台下基于FFMPEG的音视频处理方案研究


  更多相关文章: 多媒体 Android 音频 视频 FFmpeg


【摘要】:移动互联网技术飞速发展的今天,手机俨然成为生活中不可或缺的一部分,人们对手机也产生了其他的功能要求,尤其是在多媒体方面。然而,在Android版本频繁迭代更新和人们对娱乐多媒体的日渐依赖下,作为需求比较多的模块,Android的多媒体功能比较欠缺,尤其是音视频处理方面,主要体现在:一、Android系统源码中对于音视频的支持上,无论从支持的视频种类上,还是编解码效率上,都不能满足日益增长的需求;二、音频录制过程中,每次触碰暂停都会生成一个音频段,该音频段不支持直接拼接;三、视频录制结束之后,需要进行截取封面。所以,对Android应用音视频全面研究具有重要理论意义和实际应用价值,也引起来了越来越多研究人员的注意。为了解决如上问题,本文提出了解决办法以及关键技术的实现,实现一个较为通用且完善的音视频处理方案,能够支持基本的音视频录制、播放以及过程中的控制。本次方案着重研究了开源多媒体库FFmpeg技术,并通过JNI技术将其移植到Android系统,主要开展并完成了以下工作:其一,论述了目前Android平台下多媒体功能的主要欠缺以及Android和FFmpeg的研究现状,并且详细说明了设计音视频处理方案的意义。接下来,对Android系统的框架等进行阐述,紧接着深入研究其多媒体框架OpenCore,掌握其特点以及提供的多媒体类型接口,为后期使用做准备。其二,在深入剖析FFmpeg编解码和截图机制的基础上,为了提高编解码效率以及解决音频段合并和视频截图两大技术难点,将FFmpeg移植到Android的底层。同时针对FFmpeg操作相对复杂且参数不便于理解和应用的问题,提出了按照逻辑和类的方法将FFmpeg封装的方案设计。其三,对方案各个模块进行了详细的需求分析,设计了一套切实可行的音视频处理方案,提供从音视频录制到播放的服务。整个方案采用了外观模式进行设计,有效的避免模块间的耦合,提高开发效率。使用Android自身的MediaRecord类来实现音视频的录制,MediaPlayer类实现音视频的播放,底层封装的FFmpeg接口实现音视频转码、视频截图以及多段音频合并。最后,通过性能测试,对错误进行了修正,最终提出的设计方案能够按照预计结果去实现相应功能。综上所述,本文实现了Android平台下基于FFmpeg的音视频处理方案,可以较为有效的提高Android自身的音视频功能,优化处理流程;同时,还能减轻多媒体开发的工作负担,提高开发效率。
【关键词】:多媒体 Android 音频 视频 FFmpeg
【学位授予单位】:暨南大学
【学位级别】:硕士
【学位授予年份】:2016
【分类号】:TN919.8
【目录】:
  • 英文缩写说明3-4
  • 摘要4-6
  • ABSTRACT6-12
  • 第一章 绪论12-18
  • 1.1 研究背景和意义12-15
  • 1.2 研究现状15-16
  • 1.2.1 Android多媒体研究现状15-16
  • 1.2.2 FFmpeg研究现状16
  • 1.3 本文结构编排16-18
  • 第二章 相关技术和知识介绍18-36
  • 2.1 ANDROID18-20
  • 2.1.1 Android系统框架18-19
  • 2.1.2 Android应用程序构成19-20
  • 2.2 ANDROID多媒体20-24
  • 2.2.1 多媒体系统介绍20-21
  • 2.2.2 多媒体框架OpenCore21-22
  • 2.2.3 OpenCore的多媒体类型及接口22-23
  • 2.2.4 OpenCore的集成接口23-24
  • 2.3 FFMPEG24-27
  • 2.3.1 FFmpeg构成24-25
  • 2.3.2 FFmpeg搭建25-27
  • 2.4 FFMPEG开发27-32
  • 2.4.1 FFmpeg参数解析27-28
  • 2.4.2 FFmpeg处理流程28-29
  • 2.4.3 FFmpeg转码29-32
  • 2.5 ANDROID STUDIO以及开发平台建立32-35
  • 2.5.1 Android Studio简介32
  • 2.5.2 Android Studio优势32-33
  • 2.5.3 开发平台的建立33-35
  • 2.6 本章小结35-36
  • 第三章 音视频解决方案需求分析与设计36-50
  • 3.1 可行性分析36
  • 3.2 功能需求分析36-39
  • 3.2.1 底层封装37-38
  • 3.2.2 音视频录制模块功能需求38-39
  • 3.2.3 音视频播放模块功能需求39
  • 3.3 性能需求分析39-40
  • 3.3.1 友好的UI界面39
  • 3.3.2 响应时长39-40
  • 3.4 FFMPEG封装设计40-42
  • 3.4.1 转码以及多段音频合并设计40-41
  • 3.4.2 截取视频图像设计41-42
  • 3.5 音频模块设计42-44
  • 3.5.1 音频功能模块设计42-43
  • 3.5.2 音频控制模块设计43-44
  • 3.6 视频模块设计44-47
  • 3.6.1 播放功能模块设计44-45
  • 3.6.2 视频控制模块设计45-47
  • 3.7 设计模式47-48
  • 3.7.1 开发过程中的问题47
  • 3.7.2 外观模式47-48
  • 3.8 本章小结48-50
  • 第四章 音视频处理方案的实现50-69
  • 4.1 硬件使用权限设置50-51
  • 4.2 底层封装的实现51-53
  • 4.2.1 FFmpeg具类的封装51-52
  • 4.2.2 视频截图52
  • 4.2.3 多段音频合并52-53
  • 4.3 音频录制功能的实现53-58
  • 4.3.1 音频录制流程53-57
  • 4.3.2 返回按键事件的监听与处理57-58
  • 4.3.3 音频转码的实现58
  • 4.4 视频录制功能的实现58-62
  • 4.4.1 视频录制流程58-61
  • 4.4.2 视频转码的实现61-62
  • 4.5 音频播放功能的实现62-65
  • 4.5.1 音频播放流程62-64
  • 4.5.2 语音播放/暂停控件实现64-65
  • 4.6 视频播放功能的实现65-67
  • 4.6.1 视频播放流程65-66
  • 4.6.2 SurfaceHolder.Callback接口实现66-67
  • 4.7 播放过程中异常情况处理67-68
  • 4.7.1 注册OnErrorListener67-68
  • 4.7.2 try catch结构68
  • 4.8 本章小结68-69
  • 第五章 音视频方案测试69-77
  • 5.1 配置测试环境69
  • 5.2 视频功能模块测试69-72
  • 5.2.1 视频录制测试70-71
  • 5.2.2 视频播放测试71-72
  • 5.3 音频功能模块测试72-74
  • 5.3.1 音频录制测试72-73
  • 5.3.2 音频播放功能测试73-74
  • 5.4 性能测试74-76
  • 5.5 数据移除安全测试76
  • 5.6 本章小结76-77
  • 第六章 总结与展望77-80
  • 6.1 总结77-79
  • 6.2 展望79-80
  • 参考文献80-83
  • 致谢83


本文编号:917230

资料下载
论文发表

本文链接:https://www.wllwen.com/kejilunwen/xinxigongchenglunwen/917230.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户f0420***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com