• / 101
  • 下载费用:5 金币  

基于Android的有身份识别功能的流媒体播放器的设计与实现.pdf

关 键 词:
基于 ANDROID 身份 识别 功能 流媒体 播放 设计 实现
资源描述:
电 子 科 技 大 学 UNIVERSITY OF ELECTRONIC SCIENCE AND TECHNOLOGY OF CHINA 专业学位硕士学位论文 MASTER THESIS FOR PROFESSIONAL DEGREE (电子科技大学图标) 论文题目 基于 Android 的有身份识别功能的 流媒体播放器的设计与实现 专业学位类别 工程硕士 学 号 201122240803 作 者 姓 名 李炜锋 指 导 教 师 于鸿洋 副教授 分类号 密级 UDC 注 1 学 位 论 文 基于 Android 的有身份识别功能的 流媒体播放器的设计与实现 (题名和副题名) 李炜锋 (作者姓名) 指导教师 于鸿洋 副教授 电子科技大学 成 都 (姓名、职称、单位名称) 申请学位级别 硕士 专业学位类别 工程硕士 工程领域名称 电子与通信工程 提交论文日期 2014.05.30 论文答辩日期 2014.06.03 学位授予单位和日期 电子科技大学 2014 年 06 月 27 日 答辩委员会主席 评阅人 注 1:注明《国际十进分类法 UDC》的类号。 THE DESIGN AND IMPLEMENTATION OF STREAMING MEDIA PLAYER WITH IDENTIFICATION BASED ON ANDROID A Master Thesis Submitted to University of Electronic Science and Technology of China Major: Elcetronics and Communication Engineering Author: Li Weifeng Advisor: Yu Hongyang School : Research Institute Electronic Science and Technology of UESTC独 创 性 声 明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作及取得的研究成果。据我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不包含为获得电子科技大学或其它教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了明确的说明并表示谢意。 作者签名: 日期: 年 月 日 论 文 使 用 授 权 本学位论文作者完全了解电子科技大学有关保留、使用学位论文的规定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允许论文被查阅和借阅。本人授权电子科技大学可以将学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 (保密的学位论文在解密后应遵守此规定) 作者签名: 导师签名: 日期: 年 月 日 摘 要 I 摘 要 随着 智能手机的普及,移动互联网的迅速发展, 移动终端 让广大手机用户的生活变得便捷丰富 。 Android 的普及性及开放性, 使得 Android 在移动终端占有一席之地,因此 在 Android 上 进行流媒 体播放器 的 设计与研究存在一定的意义。 本文设计了一个带有文本无关的说话人识别功能的流媒体播放器,除了播放本地视频和网络视频外,文本无关的说话人识别功能可以用来区分说话人是否具有使用权限。 本文 从视频监控的背景出发, 利用 RTSP 和 RTP 协议 , 实现最基本的视频监控功能 。 除此之外,还 支持 HTTP 协议 的视频点播功能 ,支持本地 视频 播放 功能和身份识别功能 。在这些功能的需求下,本文主要完成了如下几个工作: ( 1) 本文在 Android 平台上对客户端 UI 界面进行了具体的设计与实现。利用Android SDK 中的接口完成 云台控制, plist 解析等功能的实现 , 并 重新封装 Native层播放等相关功能 以便被 Java 层调用 。 ( 2) 本文移植 FFmpeg 到 Android 上, 在现有设备上使用 FFmpeg 进行软件解码 ,并且利用 Android 多媒体模块 中 的 OpenMAX 进行硬件解码 ; 在 得到 YUV数据之后, 本文 将 YUV 数据 转换为 Android 显示 支持的 RGB 数据 ,并对比了两种颜色空间转换 方法 的优劣 ; 本文 还对 Android 支持的视频显示方式做了对比 ,计算了各种显示方式需要的平均时间 ,也对用到的 例如 NEON 指令集优化等 相关技术进行了说明 ; 最终对音频和视频 进行 同步 处理 并输出。 ( 3) 在流媒体播放器的基础上添加一个身份识别功能 ,实现文本无关的说话人识别 。 本文 使用的是 比较 成熟的算法,利用梅尔倒谱系数 MFCC 来提取声纹 特征 ,利用高斯混合模型 GMM 来进行模型训练, 最后在 Android 进行实现 。 ( 4) 本文 对设计的流媒体播放器 各个部分的功能 进行了测试 。 关键词: Android, FFmpeg, OpenMAX,视频监控, 文本无 关ABSTRACT II ABSTRACT With the popularity of smart phones and the rapid development of mobile Internet, mobile phone users have a convenient and rich life with the mobile terminals. Android plays an important role in the mobile terminal because of Android's popularity and openness, it makes the study and design on streaming media player in Android has certain significance. The player with a text-independent speaker recognition function was designed, in addition to the function of playing in local and network, speaker recognition function was used to distinguish whether the speaker has permissions. In this paper, with the background of the video monitoring, the basic function of video monitoring which based on RTSP and RTP protocol and the control of yuntai were realized. For video on demand, HTTP protocol is to be supported. The player should support the local video playback and other function such as identification. Under these requirements, this paper mainly completed the following work: (1) In this paper, design and implementation of client UI interface has be carried on the Android platform with Android SDK. The control of yuntai and the function of plist resolution were also completed with Android SDK. The related functions such as play were encapsulated in the native layer. (2) FFmpeg was transplanted to Android in this paper to realize software decoding and the OpenMAX was used in Android multimedia module to achieve the function of hardware decodeing. Then the player would get the YUV data and convert YUV data into the RGB data which is supported in Android. The efficiency of the two kinds of color space conversion was compared. This paper also made a contrast between several kinds of rendering and calculated the average time. Also NEON optimization and other related technology were illustrated. Finally the audio and video were synchronized. (3) A text-independent speaker recognition function was added in this paper and algorithm was used in the paper are mature, using MEL cepstrum coefficient to extract the voiceprint characteristics and using the gaussian mixture model to model training, finally the function was realized on the Android. (4) All the function of each part of the streaming media player was tested at last. Keywords: Android, FFmpeg, OpenMAX, video monitoring, text-independent 目 录 III 目 录 第一章 绪论 .................................................................................................................. 1 1.1 发展与研究现状 ............................................................................................. 1 1.1.1 Android 发展现状 .................................................................................. 1 1.1.2 流媒体技术现状 ................................................................................... 2 1.1.3 无线音视频传输网络现状 ................................................................... 2 1.1.4 说话人识别历史和国内外现状 ........................................................... 2 1.2 背景意义 ......................................................................................................... 3 1.3 研究内容与安排 ............................................................................................. 5 第二章 基础理论 .......................................................................................................... 6 2.1 Android 开发基础 ............................................................................................ 6 2.1.1 Android 系统构架 .................................................................................. 6 2.1.2 Android 应用的基本组件 ...................................................................... 7 2.1.2.1 Activity………………………………………………………… 8 2.1.2.2 Service………………………………………………………… . 9 2.1.2.3 BroadcastReceiver…………………………………………… .. 9 2.1.2.4 ContentProvider……………………………………………… . 10 2.1.2.5 Intent 和 IntentFilter………………………………………… .. 10 2.1.3 Android 多媒体框架 ............................................................................ 10 2.2 FFmpeg ........................................................................................................... 13 2.3 流媒体传输协议 ........................................................................................... 15 2.4 Socket 通信 .................................................................................................... 17 2.5 文本无关的说话人识别 ............................................................................... 18 2.5.1 特征提取( MFCC) ........................................................................... 18 2.5.2 模型训练( GMM) ............................................................................ 22 2.5.3 识别 ..................................................................................................... 25 2.6 本章小结 ....................................................................................................... 27 第三章 相关功能的设计与实现 ................................................................................ 28 3.1 NDK 技术 ...................................................................................................... 28 3.2 应用程序的基本结构 ................................................................................... 29 3.3 将 FFmpeg 移植到 Android.......................................................................... 31 目 录 IV 3.3.1 将 FFmpeg 打包成动态库 .................................................................. 32 3.3.2 JNI 动态注册 ....................................................................................... 33 3.3.3 Java 层的封装 ...................................................................................... 34 3.4 Android 的 makefile 文件 .............................................................................. 35 3.4.1 Android.mk ........................................................................................... 35 3.4.2 Application.mk ..................................................................................... 35 3.5 颜色空间转换 ............................................................................................... 36 3.5.1 sws_scale 函数 ..................................................................................... 36 3.5.2 YUV2RGB 方法 .................................................................................. 37 3.6 视频的显示 .................................................................................................... 38 3.6.1 Java Surface JNI ................................................................................... 39 3.6.2 ANativeWindow API ............................................................................ 40 3.6.3 Private C++ API ................................................................................... 41 3.6.4 OpenGL ES 2.0 .................................................................................... 42 3.7 声音的输出 ................................................................................................... 43 3.8 FFmpeg 配合 ffserver 进行传输 ................................................................... 46 3.9 本 章小结 ........................................................................................................ 47 第四章 流媒体播放器的整体设计与实现 ................................................................ 48 4.1 监控系统的分层结构 .................................................................................... 48 4.2 播放器用户界面的设计 ................................................................................ 49 4.2.1 本地播放及文件显示 ......................................................................... 50 4.2.2 实时监控及云台控制 ......................................................................... 51 4.2.3 视频点播及 plist 解析部分 ................................................................ 52 4.3 播放器的设计 ............................................................................................... 54 4.3.1 软件解码 ............................................................................................. 56 4.3.2 硬件解码 ............................................................................................. 58 4.4 音视频同步处理 ........................................................................................... 62 4.5 文本无关的说话人识别 ............................................................................... 65 4.5.1 Android 中音频数据的提取 ................................................................ 65 4.5.1.1 通过 AudioRecord 类获取音频数据 ……………………… .. 65 4.5.1.2 通过 libsndfile 转换音频文件 ……………………………… . 67 4.5.2 音频数据的主要处理流程 ............................................................... 67 4.5.2.1 MFCC 参数的提取 ………………………………………… ... 70 目 录 V 4.5.2.2 GMM 模型的训练 …………………………………………… 70 4.5.2.3 求后验概率 ………………………………………………… .. 72 4.6 本章小结 ........................................................................................................ 73 第五章 流媒体播放器的测试 .................................................................................... 74 5.1 流媒体播放器播放模块 的测试 ................................................................... 74 5.1.1 Android 开发环境搭建 ........................................................................ 74 5.1.2 整体测试系统的搭建 ......................................................................... 74 5.1.3 界面测试 ............................................................................................. 75 5.1.4 功能测试 ............................................................................................. 75 5.2 文本无关的说话人识别测试 ....................................................................... 79 5.2.1 界面测试 ............................................................................................. 79 5.2.2 GMM 模型训练测试 ........................................................................... 82 5.2.3 识别测试 ............................................................................................. 83 5.3 本章小结 ....................................................................................................... 84 第六章 总结与展望 .................................................................................................... 85 致谢 .............................................................................................................................. 86 参考文献 ...................................................................................................................... 87 硕期间取得的研究成果 ………………………………………………………… ......90 第一章 绪论 1 第一章 绪论 1.1 发展与研究现状 1.1.1 Android发展现状 Android 手机操作系统 是由 Andy Rubin 创立的,后来被 Google 收购。 Google希望与其他方共同建立一个移动电话软件平台,使该平台有标准 化和开放式的特点,从而在移动产业内形成一个开放式的操作平台。 Android 的 最新 版本为 4.4,版本代号为 KitKat。 自 Google 发布第一个 Android 系统以来已经 过了 7 个年头, Android 从 当年的不为人知 到 现在的家喻户晓 。 IOS 的 用户体验确实令人惊叹,但是在价格方面Android 还是存在一定 的优势, Android 的开放性使得 许多 开发者也慢慢加入Android 这个大家庭中来。 Android 手机在智能手机市场 慢慢的 占据了一个很重要的位置。 表 1-1 2013 年第四季度智能手机的出货量和市场份额 [1] 全国手机出货量(单位:百万台) 2012Q4 2012 2013Q4 2013 安卓 Android 152.5 481.5 227.7 781.2 苹果 Ios 47.8 135.8 51 153.4 微软 5.9 18.8 9.4 35.7 其它 10.8 64 2.2 19.8 总计 217 700.1 290.2 990 全国手机厂商市场份额(单位: %) 2012Q4 2012 2013Q4 2013 安卓 Android 70.30% 68.80% 78.40% 78.90% 苹果 Ios 22.00% 19.40% 17.60% 15.50% 微软 2.70% 2.70% 3.20% 3.60% 其它 5.00% 9.10% 0.70% 2.00% Total 100.00% 100.00% 100.00% 100.00% 与去年同期相比增长率 38.20% 42.70% 33.70% 41.40% 表 1-1 是 2013 年第四季度的智能手机出货量,相比去年而言,智能手机增长41%,将近 10 亿台。 Android 操作系统占据了很大的一块市场份额,其他操作系统与 Android 系统有着明显的差距。
展开阅读全文
1
  金牌文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:基于Android的有身份识别功能的流媒体播放器的设计与实现.pdf
链接地址:http://www.gold-doc.com/p-255633.html
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服客服 - 联系我们
[email protected] 2014-2018 金牌文库网站版权所有
经营许可证编号:浙ICP备15046084号-3
收起
展开