基于android的流媒体播放器开发

基于android的流媒体播放器开发

ID:13114209

大小:191.29 KB

页数:4页

时间:2018-07-20

基于android的流媒体播放器开发_第1页
基于android的流媒体播放器开发_第2页
基于android的流媒体播放器开发_第3页
基于android的流媒体播放器开发_第4页
资源描述:

《基于android的流媒体播放器开发》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、1.引言随着移动通信技术和多媒体技术的迅速发展,融合手机、网络、多媒体技术为一体的视频监控技术也有了长足的进步,通过移动通信网络提供流媒体服务已经成为可能。全球移动用户数量非常庞大,因此移动流媒体服务具有巨大的市场潜力,也正成为移动业务的研究热点之一。在这一背景下,针对移动网络和移动终端的特点,提出移动流媒体的创新方案很有现实意义。本项目结合Android手机操作系统,提出了移动终端流媒体播放器基于分层体系架构的共享播放设计方案。该设计的特点是使得手持终端的人们之间能够实时分享播放视频,并且提供了对外部流媒体服务器的接收功能,最终在Android平台上实现该播放器。2.播放

2、器整体设计方案播放器无论播放本地文件或是网络流媒体文件,都需要有获取媒体数据,解码音视频媒体流,将解码后的媒体数据显示给用户三个处理阶段。根据文件播放的流程中这三个明显的处理阶段,我们的设计基于层次的播放器结构。由于本地文件和网络流媒体文件的数据获取方式是不相同的,若要保持上层解码的一致性,需要对两类文件进行预处理,形成相同格式的数据提供给上层解码。根据以上特性,结合文件解码流程本文中面向实时监控的播放器设计采用分层结构,每层独立完成任务,使系统的耦合度降低,利于各层独立扩展而不影响上下层的应用。从下至上依次是数据提取层、数据预处理层、音视频解码层和用户界面。用户界面音视频

3、解码层数据预处理层数据提取层每层实现的功能如下:。(1)用户界面层主要提供用户和播放器之间的交互接口,如播放本地文件时可以实现暂停、快进、快退等功能,在观看流媒体文件时可以通过数字键、导航键或者播放器上方向按钮控制摄像头的焦距、方向等信息。(2)音视频解码层主要有解码选择组件、各种主流音视频格式的解码器和多路媒体流之间同步的功能。解码选择组件从本地文件或者流媒体文件头中获取到媒体的解码格式信息,根据该格式信息选择相应的解码器对压缩后的媒体流进行解码。多路媒体之间同步包括视频流和音频流的同步,在播放本地文件时可能还需要字幕的同步。(3)数据预处理层对本地文件按照其媒体格式解封

4、装,获取文件的音视频或字幕等信息并将其按帧放入相应上层待解码缓冲区。对流媒体文件将去除RTP的包头信息,并将RTP中音视频信息组帧,将完整的数据帧传给上层待解码缓冲区。而封装控制信息组件按照PELCO-D/P协议规定的文本格式封装用户的控制输入,并将控制信息传递给下层。(4)数据获取层的功能包括本地文件、流媒体文件的获取和摄像头控制信息的发送,前者只需读取本地文件即可,流媒体文件的获取需要从流媒体服务器获取媒体数据信息。流媒体文件获取部分包括前期会话协商部分、数据发送部分和数据缓冲部分。其中媒体信息协商部分需要使用RTSP协议协商媒体流常规信息,如媒体类型(视频和音频)、传

5、输协议(RTP/UDP/IP…)和媒体格式(H263、mpeg…)和媒体传输端口等信息。我们的播放器除了实现普通的播放器功能之外,也能将自身变成流媒体服务器,负责转发本地视频或网络流媒体,让周围的终端能实时分享同步播放相应的视频。播放器主要有三大接口。。。1.Android系统架构中的多媒体上图是Android系统架构图,自低向上都能看见多媒体相关的组件包括多媒体Driver、多媒体Native库、多媒体框架层,多媒体应用等。多媒体Driver负责和硬件进行交互数据包括AudioDriver,CameraDriver,DisplayDriver等等,与其他Linux版本的D

6、river类似多媒体Native库通常称之为OpenCore,它是Anroid多媒体的核心,来源于PacketVideo。对比Android的其它程序库,OpenCore的代码非常庞大,它是一个基于C++的实现,定义了全功能的操作系统移植层,各种基本的功能均被封装成类的形式,各层次之间的接口多使用继承等方式。OpenCore是一个多媒体的框架,它主要包含了两大方面的内容:PVPlayer:提供媒体播放器的功能,完成各种音频(Audio)、视频(Video)流的回放(Playback)功能PVAuthor:提供媒体流记录的功能,完成各种音频(Audio)、视频(Video)流

7、的以及静态图像捕获功能在实际多媒体应用的开发中我们并不会过多的研究OpenCore的实现。Android中提供了上层(Java层)的MediaAPI给开发人员使用,MediaPlayer和MediaRecorder。多媒体框架层多媒体框架层Android中间层,也是JavaSDK层。向下通过JNI负责封装OpenCore,向上负责为多媒体应用程序提供Java接口。所有的多媒体相关的类和接口都包含在android.media这个package当中,包括AudioFormat,AudioManager,AudioTra

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。