当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]基于Mobile的手机流媒体实时图像浏览客户端设计

  1 引言

  当今社会,仅仅传输文字和图像信息已经不能满足现代社会发展的需要,音频和视频的多媒体信息成为网络上重要的传输内容。同时微软凭借其强大的研发实力和市场推广能力,使得Windows Mobile 操作系统及其开发工具成为了主流的智能手机软件开发平台。

  2 系统的功能及总体结构

  本文主要阐述基于Mobile 的手机流媒体实时图像浏览客户端的软件设计,此软件是通过软件仿真实现的一个基于Windows Mobile的流媒体系统。流媒体要求能够一边收取网络上的大量音视频数据,将数据解码,一边还要进行显示。因此多媒体系统中的流媒体的功能包括:

  (1) 从网络上接收数据包,收集传来的各种数据和指令。

  (2) 对其进行分析、处理,将数据进行解码以便交给设备进行输出。

  (3) 将从解码模块传过来的处理后的数据通过播放器进行显示。

  3 主要模块的设计与实现

  本文应用流媒体技术、网络通信技术设计了一个基于智能手机的实时流媒体传输系统框架,并针对组成该系统的重要模块进行探讨和研究。基于RTP/RTCP 协议的流媒体传输组件,实现了图像浏览的网络数据传输、解码和显示等功能,为以后开发出有完善功能的应用系统作了铺垫。

  本系统中的实时流媒体图像浏览需要包括如下模块:网络接收模块、解码模块、显示模块、操作控制模块,根据平台的结构和工作原理,系统的工作流程如图1 所示。

  

  3.1 网络接收模块

  本系统中设计了智能手机上的RTP 接收,针对智能手机处理速度的限制,在该模块中设计了一个缓冲区用于平滑网络上所接收的数据和智能手机处理速度之间的瓶颈。同时Mobile操作系统支持TCP/IP 协议,因此可以使用TCP/IP 协议进行网络方面的通信和图像数据的传输。RTP 接收数据流程图如图2 所示。

   

  3.2 解码模块

  音/ 视频以大量的数据进行传输,可能会造成网络堵塞。为了减少网络传输量,那么在不会影响音视频显示效果的前提下,对数据进行了压缩和编码处理,可以大大的减少数据量。因此,在接收到数据以后,对完整的音/ 视频数据要进行对应的解码,才能使图像正确无误的显示出来。

  3.3 显示模块

  本系统中采用Direct-Show技术来提供多媒体流高质量的捕捉与回放。下面就本系统中终端播放器的具体功能和实现,设计如下:

  3.3.1 建立项目

  使用Visual STudio 2008 的开发环境创建一个新项目,利用智能设备应用程序向导创建一个基于对话框的应用程序, 编译环境设置为Windows Mobile 6 ProfessiONalSDK,设备选择CHSWindows Mobile 6 ClassicEmulator 为智能设备的模拟环境。

  3.3.2 新建一个CEric-MediaControl 类,用于封闭媒体文件播放等功能

  CEricMediaControl 类是一个通用的C++ 类,无基类。

  下面就来具体实现CEricMediaControl 类。

  a.为CEricMediaControl 类添加私有变量,用于定义播放媒体文件播放所需的DSHOW接口。

  b.定义媒体播放事件对应的WINDOWS 消息常量WM_GRAPHNOTIFY,定义如下:#define WM_GRAPHNOTIFYWM_USER + 101。

  c.实现CEricMediaControl 类的构造函数和析构函数。在构造函数里,将DSHOW相关的接口初始化为NULL,并初始化COM环境;在析构函数里,释放DSHOW 接口并释放COM环境。

  d.为CEricMediaControl 类添加InitDShow和UnInitDShow两个私有方法。

  e.为CEricMediaControl 类添加4 个共有方法,供外部调用。这4 个方法分别为OpenFile、VideoRun、VideoPause、VideoStop。f. 为类CEricMediaControl类添加7 个共有的方法,用于设置媒体播放属性以及得到媒体播放器的属性。这7个方法分别为FitVideoWindow、FullScreen、Get-FullScreenStatus、GetMediaEvent、SetPositions、GetDuration。

  3.3.3 设计媒体播放器的主窗口

  根据媒体播放器上的样式,对话框上的控件及其属性设置如表1 所示。

  

  至此,媒体播放器就编写完成了,编译并部署到模拟器中,即可实现流媒体实时图像的浏览了,同时可以作为本地媒体播放器使用,通过“打开”按钮选择播放本地媒体文件。

  4 结语

  随着手机市场的不断增长和3G 网络业务的快速发展,针对智能手机音/ 视频图像的传输,本文通过流媒体技术以及网络编程的研究,实现了在Mobile 操作系统下实时图像的传输及浏览。这个实时流媒体传输系统经过进一步完善后,将可以推广到更多场合中,得到更多的应用,例如:视频会议、远程教学等,具有实际应用价值。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭