- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM的嵌入式流媒体客户端软件的设计
陶佳 李英祥
(成都信息工程学院 通信工程学院,四川 成都 610225)
摘要:流媒体技术的日渐成熟和网络技术的飞速发展给嵌入式设备应用带来了巨大的机遇。,而嵌入式Linux操作系统具有很强的网络支持能力和媒体处理能力,很合适作为多媒体应用的理想嵌入式平台系统。具有,音视频流媒体点播功能的嵌入式客户端软件是流媒体服务的重要组成部分,也即是基于上述技术而迅速发展的流媒体技术的热门领域之一。本文即是以Linux此操作系统为平台,借助VLC强大的流媒体播控媒体技术和QT工具高效开发GUI开发的支持能力,开发设计并实现了一个基于ARM的嵌入式流媒体客户端软件。的开发设计测试表明,本客户端软件能够正常运行,达到了设计目标。
关键词:Linux嵌入式;流媒体;QT点播;VLC;视频点播
一 引言
流媒体技术的出现改变了传统互联网只能主要表现文字和图片的缺陷,将成为未来互联网应用的主流。与以往必须等待全部文件下载完毕之后才能播放的方式不同,流媒体可以在文件下载的同时进行播放,从而有效减少用户等待时间,减小文件缓冲区大小并提升用户感知度。流媒体是由各种不同的软件构成,这些软件在各个不同的层面上互相通信。,基本的流媒体系统包含服务器、编码器和客户端三个组件,服务器是用来向客户端观众发送流媒体内容的软件,编码器则是用来将原始音频视频文件转换为流格式的软件,客户端是一种能够与流媒体服务器通信的软件,这种软件能够播放或丢弃收到的流媒体。客户端软件,即常见的流媒体播放器软件,可以像一般应用程序那样独立运行,并通常都提供流的交互的式操作功能,比如播放、暂停、快放等。某些客户端还提供一些额外的功能,比如录制、调整音频或视频,甚至提供文件系统记录自己喜欢的流媒体文件。在众多的客户端播放软件播放器中,使用最广泛的有:RealNetwork公司的RealPlayer、微软的windows Media Player和苹果公司的QuickTime客户端,它们虽然功能强大,但在需要界面和功能自主设计时表现得不够方便,无法满足在不同环境下对流媒体客户端界面和功能上的个性化定制,而本方案的设计思路,可以根据不同的应用需求设计出不同的流媒体客户端样式。
本文采用达尔文流媒体服务器作为服务器端软件,以VLC开源库作为流媒体协议开发的基础和原型,VLC库集成了RTP/RTCP协议,并且支持多种媒体格式文件的流传输,基于跨平台的C++图形用户界面库QT4设计了客户端播放软件的GUI操作界面。这些组件之间通过特定的协议互相通信,按照特定格式互相交换文件数据,实现了客户端向服务器发送点播请求并实时响应服务器数据流的功能。基于本文所采用的流媒体客户端的设计方法,可以设计出具有不同界面风格和功能的嵌入式流媒体客户端,极大的满足了在不同环境下人们对客户端界面的个性化需求。基于上述特点,支持流媒体技术的嵌入式终端设备将拥有日益广泛的市场。
1 流媒体客户端软件层次结构流媒体网络协议
流视频协议是为了在客户端机和视频服务器之间进行通信而设计的标准化协议。根据它们的功能,网络上传输的流视频相关的协议分为三类。
网络层协议:网络层协议提供了基本的网络服务支持。IP就是网络上流视频使用的网络协议。
传输协议:传输协议为流服务提供端对端的网络传输功能。TCP、UDP、RTP和RTCP就是网络上流视频流使用的传输协议。
话路控制协议:话路控制协议定义消息和程序。RTSP就是一种话路控制协议。
客户端与服务器之间的通信主要是由位于在应用层的RTSP协议和位于传输层的RTP协议来实现的,RTSP是一个多媒体流传输控制协议,通过此协议,可以为服务器和客户端建立会话控制连接,为多媒体流提供远程控制功能,比如播放、暂停、跳跃、停止等,具有可扩展性、解析简单、安全、传输独立等特点。由于流媒体数据的实时性要求,应该选择传输效率较高数据可靠性较低的UDP协议。实时传输协议RTP是针对Internet上多媒体数据流的一个传输协议。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。图1表示了流媒体客户端和服务器之间信息交互和客户端内部的层次结构。
图1流媒体客气端层次结构图
2 流媒体客户端底层设计与实现
VLC(VideoLAN Client)是开源项目VideoLAN下的跨平台的媒体播放器和流媒体服务
图2 VLC流程图
器,可运行于Linux、Mac OS X、Windows等多种操作系统平台,支持MPEG-1、MPEG-2、MPEG-4、Divx、WMV、mp3、ogg、Vorbis、AC3、AAC等多种音视频格式。VLC不仅可用作媒体播放器播放音视频文件、DVD、视频光碟或网络视频流,而且可用作流媒体服务器,将视频源数据按照H.26x、
文档评论(0)