论文部分内容阅读
随着网络带宽的飞速提升,利用可移动设备接收查看多媒体信息已经成为人们的迫切需求。传统多媒体文件通常体积很大,下载需要很长时间,而且只能先下载,存储在存储器上之后再播放,费时费力,并不能适合可移动设备这类嵌入式设备系统CPU处理能力弱和存储容量小的特点。流媒体的出现改变了这种状况,它不需要下载整个文件就可以在向播放器传输的过程中开始播放,一边下载一边播放,它的这个特点,极大减小了开始播放需要等待的时间以及减小了对接收端存储容量的需求,非常符合嵌入式系统CPU处理能力弱和存储容量小的特点。且伴随着电子技术、无线通讯以及计算机网络研究的深入与应用的拓展,基于嵌入式系统的无线局域网络功能的应用日益广泛。从网络浏览、网络短信、IP电话到实时视频通讯、移动流媒体,使得无线局域网络应用逐渐成为嵌入式系统研究与应用的关注重点。本文所阐述的嵌入式移动流媒体播放系统实现了无线局域网内可进行流媒体播放的便携式软硬件设备系统,详细讲述了该嵌入式移动流媒体播放系统的硬件模块构建和软件模块构建。该系统使用先进的符合IEEE802.11b/g标准的USB无线网卡,可实现集中控制式和对等式两种工作模式,传输速率自适应,最高可达54Mbps,支持无线漫游功能,可在不同的(无线)访问接入点AP((Wireless)Access Point)间移动,且网络连接不中断,传输距离为室内最远100米,室外最远300米。从硬件方面,该移动流媒体播放系统采用先进的ARM处理器S3C2440A作为核心,其具有丰富的接口模块,包括本系统中所用到的大量GPIO口、IIS数字音频接口、LCD控制器接口、USB接口及无需外围电路的触摸屏接口,外围共由音频播放子系统、视频播放子系统、无线入网子系统及人机交互子系统四大模块构成,分别由音频编解码器、TFT LCD显示器、USB接口无线网卡、四线电阻式触摸屏与S3C2440A相应的接口模块构成,本文详细地描述了各子系统硬件连线、控制寄存器的配置及嵌入式Linux操作系统中驱动程序的编写及移植。流媒体协议族由实时流协议RTSP、实时传输协议RTP、实时传输控制协议RTCP、会话描述协议SDP组成,在流媒体播放系统中分别充当了远程控制、数据传输、监视反馈和信息描述的角色。而流媒体被封装于流媒体文件中,主要有ASF、RM等流媒体文件格式,数据包式架构的流媒体文件格式才能实现流媒体文件边下载边播放的特点。流媒体中绝大多数包含了音视频等多媒体数据,若不经过编码压缩,很难及时的完成网络上的传输,所以在播放多媒体之前要对其进行相应的解码解压缩才可。从软件方面,以MiniGUI嵌入式用户界面系统为基础,其封装了视频播放子系统和人机交互子系统,其上编写的移动流媒体播放系统封装了音频播放子系统及以无线网卡为网络接口的SOCKET编程接口,以多线程的方式实现上述的流媒体协议族、流媒体文件格式解析及音视频解码,最终实现音视频流的同步播放。并且在原有数据缓冲区长度的度量方法上又添加了解码速率的条件因子,使流媒体的播放能够更加流畅。