




已阅读5页,还剩63页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘 要随着信息技术的高速发展,IP多媒体技术已日渐成熟,融合多媒体内容平台、宽带网络平台和数字IPTV终端平台的宽带服务模式正在成为全球极具前景的产业。与此同时,宽带在中国的普及已进入千家万户,庞大的宽带用户数量显示了IPTV在中国发展的巨大潜力。目前,中国的IPTV用户数呈稳步上升趋势,产业也呈现着良好的发展态势。视频点播作为IPTV的主要业务,其实质是实现流媒体的播放,这样一来,流媒体播放终端的功能和性能对于IPTV有着很大的影响。目前已经有一些适合商用的流媒体服务器,但是对基于IPTV机顶盒的流媒体终端还没有一个统一的解决方案,因此对基于IPTV机顶盒的视频点播终端的研究显得很有意义。 本课题研究的IPTV视频点播终端采用IPTV机顶盒+电视机的接收方式,这种形式的IPTV终端兼顾了个人电脑和电视机的功能,可以直接利用家庭中已有的电视终端来扩展业务,同时也符合中国国情,目前是信息行业发展的重点。课题采用的IPTV机顶盒为Philips公司生产的STB810开发板,它内含PNX8550多媒体处理器和流媒体编解码芯片(DSP),具有较强的解复用和音视频流解码功能,为IPTV视频点播终端的实现提供了良好的硬件基础。论文深入讨论了嵌入式Linux下IPTV视频点播终端的技术理论和核心技术的实现。首先从总体上介绍IPTV的发展状况;同时把本课题研究所涉及到的技术理论做了简要的说明,包括IPTV机顶盒技术、流媒体技术、RTP/RTCP/RTSP/SDP协议及MPEG-2传输流;重点阐述了IPTV视频点播终端的系统设计:流媒体客户端与服务器的交互流程,音视频的解码播放和消息驱动机制;实现了一种能提供良好视频质量和友好人机交互方式的基本视频点播终端。关键词:IPTV 视频点播 机顶盒 流媒体ABSTRACTWith the development of information technology, IP multimedia technology became more mature, the broadband service mode which integrates multimedia content platform, broadband network platform and digital IPTV terminal, has became the most perspective industry in the world. At the same time, broadband had come into every house. The huge amount of broadband users indicates the huge potential of IPTV. Currently, the amount of IPTV users rises up steadily, and industries go on well in China. Video-on-demand as the main business of IPTV is actually to play streaming media, so the function and capability of streaming media broadcast terminal have great effects on IPTV. Now, there had been some streaming media services which are suitable for business, but no uniform solution for streaming media terminal based on IPTV STB, so studying on video-on-demand terminal based on IPTV STB makes great sense.The project terminal system which used the IPTV STB and television had functions both personal computer and TV. Using TV to extend business is in consonant with the situation of China, and is the core of information development. Project used the STB810, which is the Philips produced, contains PNX8550 multimedia processor and streaming media encoding and decoding chip, has great demux and audio/video decoding function. It provides good hardware for implementation of IPTV video-on-demand terminal.The paper discussed technical theory and the core technology implementation of IPTV video-on-demand terminal based on embedded Linux. First, as a whole introduces the development condition of IPTV, meanwhile the technical theory which involves this topic research institute has done brief showing, including IPTV STB technology, streaming media technology, RTP/RTCP/RTSP/SDP agreement and MPEG-2 TS. Introduced with emphasis the IPTV video-on-demand terminal system design, elaborated the selection and build of RTSP client, and interactive with server, audio/video decoder and Message driving mechanism of man-machine interaction. Implement a basic video-on-demand terminal which can provide good video quality and friendly man-machine interaction.Keywords: IPTV Video-on-demand STB Streaming media目 录摘 要IABSTRACTII1 引言11.1 课题背景及研究意义11.2 国内外发展现状21.3 论文研究工作31.4 论文组织结构42 IPTV终端的关键技术52.1 机顶盒技术52.1.1 视频编解码技术52.1.2 中间件技术62.1.3 嵌入式操作系统62.1.4 图形和图像显示技术72.2 流媒体技术及相关协议82.2.1 流媒体技术82.2.2 实时传输协议RTP/RTCP102.2.3 实时流传输协议RTSP122.2.4 会话描述协议SDP132.2.5 MPEG-2传输流142.3 本章小结163 基于嵌入式Linux的视频点播终端的设计173.1 总体结构设计173.1.1 STB810的硬件平台193.1.2 STB810的软件架构203.2 流媒体数据接收模块设计213.2.1 流媒体服务器213.2.2 RTSP客户端223.2.3 环形缓冲区243.3 音视频解码播放模块设计303.3.1 流媒体数据解复用设计303.3.2 音视频流解码设计333.4 人机交互方式设计343.4.1消息驱动机制343.4.2 交互流程设计373.5 本章小结394 基于嵌入式linux的视频点播终端的实现414.1流媒体数据接收模块的实现414.2 音视频媒体播放模块的实现464.2.1解复用的实现474.2.2视频解码实现494.2.3 视频点播的流程实现图514.3 人机交互界面模块的实现514.3.1 菜单命令操作524.3.2 滑动条命令操作534.4 本章小结545嵌入式视频点播终端软件环境的搭建555.1 交叉开发环境的建立555.2 设置环境变量565.3 重建根文件系统设备565.4 导出根文件系统575.5 本章小结586 总结与展望596.1 课题小结596.2 展望与改进59中外参考文献61致 谢6364 1 引言1.1 课题背景及研究意义本课题来源于湖北省科技攻关计划项目“光纤到户流媒体接入技术”。随着计算机网络和信息业的迅猛发展,国内电信网、计算机网和广电网三网正逐渐走向融合,IPTV 的发展也越来越迅速,逐渐成为业界关注的焦点。IPTV(Internet Protocol Television)即交互式网络电视,是一种利用宽带网络作为基础设施,集互联网、多媒体、通讯等多种技术于一体,通过IP协议向用户提供包括数字电视在内的多种交互式服务的崭新技术。IPTV业务扩展了电信业务的使用终端,又拓展了电视终端可支持的业务范围,其覆盖的业务范围非常之广,可分为基本业务和增值业务。其中基本业务包括视频点播,视频直播和时移播放等,目前比较有市场潜力的增值业务有个人视频录制、远程教育、视频会议、电视购物、游戏等。而实质上,对于用户来说,IPTV最大的优势就在于可以通过视频点播的方式收看自己感兴趣的节目。据有关资料显示,上海文广新闻传媒集团曾对IPTV用户进行了调查,结果显示,在所有的IPTV业务中,视频点播业务最受用户的欢迎4。视频点播(VOD, Video on Demand),也称为交互式电视点播系统,是计算机技术、网络技术与多媒体技术发展的产物,它之所以倍受人们的青睐,主要原因在于它彻底改变了过去收看节目的被动方式,解决了一个想看什么节目就看什么节目,想何时收看就何时收看的问题,是一种可以按用户需要点播节目的交互式视频系统,为用户提供了各种交互式信息服务。目前家庭中普遍采用的有线电视视频点播是利用有线电视网络,采用多媒体技术,将声音、图像、图形、文字和数据等集成为一体,向特定用户播放其指定的视听节目的业务活动,包括按次付费、轮播及按需实时点播等服务形式。IPTV系统中的视频点播其本质就是一种基于IP网络的、利用机顶盒作为接收终端,电视机作为显示设备的视频点播系统4。视频点播作为IPTV的核心业务,其实质是实现流媒体的播放,这样一来,流媒体播放终端的功能和性能对于IPTV有着很大的影响。目前已经有一些适合商用的流媒体服务器,但是对基于IPTV机顶盒的流媒体终端还没有一个统一的解决方案,因此对基于IPTV机顶盒的视频点播终端的研究显得很有意义,对于推动我国实现IPTV产业化有着巨大的潜力。现在的视频点播不再仅仅是为了满足用户对自主收看视频节目的需求,已经渗入到大众文化和商业运作之中,不仅为用户提供丰富多彩的媒体信息服务,扩大人们的信息渠道,丰富人们的内在精神财富,而且在医院、宾馆、飞机等场所的娱乐,远程教育、公司的职员培训、公司的广告业务等领域都充斥着视频点播技术的全新应用,相信在不久的将来,视频点播也会同其他信息服务一样,走进千家万户。1.2 国内外发展现状目前,在国内外IPTV系统的用户终端一般有以下3种接收方式:(1)通过IP网络直接连接到PC终端;(2)通过移动通信网络连接到手持移动终端;(3)通过IP网络连接到IP机顶盒和电视机。然而前两种方式都存在着一定的局限性:PC终端虽自身具备较强的处理能力,但其播放软件局限于厂商私有的文件格式,通用性差,而且不会使用电脑的人也无法享受此业务,因此利用PC机作为IPTV终端仅适合低成本推广IPTV业务的场合,不会成为发展的重点。手持移动终端作为IPTV终端设备,必须具备处理和显示数字视频信号的能力。而目前市场上具有处理显示动态画面的手机,受到网络传输速率和视频解码处理能力的限制,还无法提供比较流畅的视频信号,虽然目前3G网络已投入运营,但尚未有更有效的编码方案,只有等编码方案成熟后,手机才能逐渐成为IPTV的终端设备。根据以上分析,本文研究系统采用了第三种接收方式,通过IP网络连接到IP机顶盒和电视机。4IP机顶盒具备数据转换功能、接入支持、协议支持、解码支持能在内的多种功能,可以将接收到的网络数据转换成电视屏幕可以显示的数据,支持LAN/xDSL/WLAN/FTTH等多种宽带接入方式,支持TCP/UDP/IP协议族来完成互操作信息的网络传输,以及网络数据和流媒体数据的接收与处理工作,支持多媒体码流的解码能力,支持现有的国际标准(如MPEG-4,H.264等)以及中国标准AVS。这种形式的IPTV终端兼顾了个人电脑和电视机的功能,可以直接利用家庭中已有的电视终端来扩展业务,因此成为目前发展的重点。IP机顶盒国内外发展状况如下4:首先是基于专用芯片的结构:2005年1月5日,机顶盒芯片供应商ST(意法微电子)公司发布了世界上第一个支持H.264和VC-1高清晰度标准的解码芯片STB7100。2005年年底,ST公司又退出了STB7100的第二代产品STB7109,改进了安全性和连通性,增加了对新的DVD格式和安全标准的支持。2006年8月底,浙江大华数字科技有限公司推出了基于STB7100的第三代有线/IP双模机顶盒。Micrbonas与面向消费电子产业的嵌入式软件和开发工具供应商Planetweb结成联盟,联手推出用于IPTV和数字电视机顶盒的参考设计。该设计整合了Micronas的DeCyhper DHM 8100高清多格式解码器和Planetweb的SpectraWorks用户界面平台和应用程序。荷兰飞利浦电子公司(Philips)也推出了Nexperia STB810 IP机顶盒解决方案。该方案包含了一个硬件开发平台、软件基础架构、主要编解码器和一些参考实例。对于基于数字媒体处理器的结构:美国德州仪器(TI)公司的TMS320 DM644x数字媒体处理器能够满足IP机顶盒对DSP的要求。中国康佳集团采用TI公司达芬奇技术开发出全新的IP机顶盒IPB5310。该机顶盒支持MPEG-2、MPEG-4、H.264等多种编解码标准,其应用范围包括IP电视服务、视频点播、时移电视、Web浏览服务、短信通知服务、信息广播服务等。此外,美国模拟器件公司推出了BlackFin561双内核处理器的解决方案,也支持H.264编解码标准。考虑到视频点播对音视频编解码的要求及终端的扩展性,课题采用的IPTV机顶盒为Philips公司生产的STB810开发板,它内含PNX8550多媒体处理引擎和流媒体编解码芯片(DSP),具有较强的解复用和音视频流解码功能,为IPTV视频点播终端的实现提供了良好的硬件基础。1.3 论文研究工作图1.1 IPTV运营结构图 如上图所示,在IPTV整个运营图中,主要包括内容提供商、内容运营商、网络运营商和用户终端四大部分。本课题旨在研究用户终端播放设备,它是由电视机和机顶盒组成的电视系统,用以完成视频数据的播放,提供用户操作界面,实现交互式点播20。本文研究目标即,针对XXX项目的技术和功能要求,通过对现有终端方式的研究和分析,设计出一种能提供良好视频质量和友好人机交互方式的基本视频点播终端。课题依据的项目中IPTV终端主要有本地影片、视频点播、节目直播、移动检测、图片浏览和系统设置六大模块。本文研究的主要内容是视频点播终端模块,它包括数据接收、音视频解码播放和人机交互三大部分。以下是需要论文具体研究并解决的内容:1)调研机顶盒技术,及其STB810支持的接入方式,传输协议和解码功能。分析STB810开发平台的架构和软件开发方式。2)调研流媒体技术及相关协议,包括RTP/RTCP/RTSP/SDP和MPEG-2传输流。3)调研流媒体服务器和LIVE555开源库,设计客户端流媒体数据接收模块,实现客户端与服务器的交互。4)设计音视频的解码播放模块,实现TS流的解复用和音视频的解码播放。5)设计人机交互模块,通过红外遥控器实现对交互内容的选择和控制功能。本论文拟解决的问题有:1)由于客户端通过网络接收来自流媒体服务器的数据,网络传输的数据包会存在时延抖动的问题,必然影响到客户端视频播放的质量。因此如何利用环形缓冲区技术解决网络传输过程中存在的时延抖动问题,是保证客户端视频播放质量的关键。2)在上层应用软件对机顶盒硬件底层进行调用时,不可避免会导致系统资源层的多样性和复杂性问题。采用中间件技术规范上层应用软件对机顶盒硬件底层资源的调用,从而屏蔽了多样性和复杂性问题。3)消息驱动机制最终的体验是用户本人,只有存在良好的消息机制才能让客户端用户更深切地体验视频点播的便捷。因此如何设计良好的消息机制是实现人机交互的关键。1.4 论文组织结构论文围绕基于嵌入式Linux的IPTV视频点播终端的设计与实现展开讨论,组织结构如下:第一章绪论,介绍本文所做研究工作的应用背景及其研究意义,针对IPTV在国内外的研究现状分析,提出了论文的研究目标。最后介绍了本人的工作和论文的安排。第二章主要介绍了IPTV终端的关键技术,包括机顶盒技术,流媒体技术,及RTP/RTCP/RTSP/SDP协议和MPEG-2 TS传输流。第三章给出了终端的整个结构设计,首先对开发板的硬件和软件环境进行介绍,针对各个模块的关键技术进行详细的设计分析,包括环形缓冲区技术,音视频解码和消息驱动机制。第四章详细介绍了视频点播系统客户端的实现过程。第五章简单地描述了IPTV视频点播终端软件环境的搭建。第六章对论文进行总结并描述客户端可改进的方向。2 IPTV终端的关键技术 2.1 机顶盒技术 机顶盒,又称顶置盒,英文名为STB(Set-Top Box)。它是一个体积不大,可以放在电视机顶上的小盒子,并因此而得名。机顶盒作为多媒体终端,是一种典型的嵌入式系统,由硬件和软件两部分构成,提供了数/模转换和音视频编解码功能,对经过数字化压缩的图像和声音信号进行解码还原,产生模拟的视频和声音信号,通过电视机和音响设备给观众提供高质量的电视节目,同时还具备图形图像显示和流媒体传输控制功能等。其实,从20世纪90年代初,人们就开始研究机顶盒,而真正作为数字电视的辅助设备则是从20世纪90年代后期欧美国家试播数字电视(Digital Television, DTV)和高清晰度数字电视(HDTV)开始的。它的主要作用是使用户能够用原有的模拟电视机收看数字电视界面和高清晰度数字电视节目,这类提供数/模信号转换功能的机顶盒叫做数字电视机顶盒1。 目前,家庭中安装的机顶盒普遍为数字机顶盒,是作为扩展电视机功能的一种新型家用电器而出现的。它可以把卫星直播的数字电视信号、地面的数字信号和有线网的电视数字信号通过内置芯片转换成模拟信号,然后利用已有的有线电视网络平台作为传输途径,传播到家用电视机上,这样用户就可以轻松的利用数字机顶盒观看数字电视节目,进行交互式的数字化娱乐、教育甚至商业化活动了。数字机顶盒根据传输网络的不同主要分为数字卫星机顶盒、数字地面机顶盒、数字有线电视机顶盒三类,然而,流媒体技术和IPTV技术的飞速发展,极大地推动了IP机顶盒的发展。IP机顶盒较于数字机顶盒,不仅可以提供以上三类数字机顶盒相同的功能,还可以作为IP网络与电视机之间的接口,将电视机与网络连接起来,使宽带网络上丰富的节目内容呈现在电视上,为广大的用户带来全新的数字生活新感受。其中网络电视机顶盒,即课题将要采用的IPTV机顶盒。IPTV机顶盒的关键技术主要包括数字视频编解码技术、中间件技术、嵌入式操作系统、图形和图像显示技术。而机顶盒作为终端解码设备,其解码技术非常重要。下面论文将分别对每种技术进行介绍。2.1.1 视频编解码技术视频编解码技术是IPTV网络电视发展的基本条件,怎么利用较小的宽带占用率去接收高清晰的数字节目,这就是视频编解码技术要解决的问题,该技术可以对视频信号中的图像信号进行压缩编码,剔除时间冗余和空间冗余,降低视频信号数码率,当视频信号中的亮度信号和色度信号进行编码后,数字信号的传输量就会减少,传输起来也更加方便快捷。视频解码是编码的反过程。即从压缩过的编码码流中重建活动图像序列。解码不需要进行运动估计,相对编码要简单。码流数据根据相应标准规定的结构进行解码。解码器首先还原出图像的头信息,确定图像类型,然后对图像中的各个宏块进行解码。为适应不同IPTV业务平台提供的各种编码方式,要求IP机顶盒应具有支持一种以上的解码能力。可以支持1.2Mbit/s以上的MPEG-4码流解码,或支持H.264视频的解码,并且具有从MPEG-4向H.264升级的能力。机顶盒作为网络与用户之间沟通的桥梁,IP-STB不仅需要接收网络视频,同时还要将视频节目传送给TV(或显示器),因此要同时具备编码和播放功能7。2.1.2 中间件技术中间件(Middleware)是位于IPTV机顶盒底层系统资源与应用程序之间的通用服务。这些服务具有开发的标准程序接口,能够适用于不同的操作系统和硬件平台。其作用是将机顶盒中的应用程序和底层的硬件、网络部分分离,任何按照某中间件提供的应用程序编程接口实现的应用程序都可以运行在该中间件之上。中间件执行层包含在中间件中,通过对底层系统资源的调用,完成对IPTV服务请求的解释,实现应用程序通过中间件与底层系统资源的隔离。其中,中间件API接口是中间件提供给应用程序的应用程序编程接口19。中间件技术已成为IPTV交互式电视的核心技术,它通常有Java虚拟机、网络浏览器、图像与多媒体模块等组成,通过定义一组完整的标准应用程序接口,使应用程序独立于操作系统和硬件平台,使应用程序的开发变得更加简捷,产品的开发性和可移植性更强,以保证机顶盒的扩展性和投资的有效回收2。2.1.3 嵌入式操作系统机顶盒有软件和硬件两部分构成,一个好的软件操作系统,是决定一个机顶盒产品成功与否的关键,机顶盒的操作系统不大,但却要求可以在实时的环境中工作,并能在较小的内存空间中运行,2这种操作系统称为实时操作系统(Real-Time Operating System, RTOS)。在目前已有的机顶盒产品中,主要的操作系统有嵌入式Linux和WinCEl两种,它们负责管理本地资源和网络资源,并提供基本的操作功能以及设备的访问控制。本论文研究系统中的机顶盒操作系统采用的是嵌入式Linux。嵌入式Linux是将Linux操作系统进行剪裁修改,使之在体积和实时性两个方面满足嵌入式环境的一种操作系统。与目前市场上的众多商业的RTOS(实时操作系统)相比,嵌入式Linux拥有以下特点18:(1)开放性任何一个操作系统的开放源代码,对操作系统的使用者和开发者来说都是一件令人欢欣鼓舞的事,Linux作为开放源码的自由软件的代表,可以修改,学习,剪裁。也可以根据实际需要进行二次开发,去掉操作系统的附加功能,保留必须得操作系统功能,对操作系统进行优化,进而降低整个系统的成本和能耗。(2)低成本因为Linux操作系统的源代码对外开放,必然会带来其使用成本的降低。只要遵守GPL协议,嵌入式Linux操作系统的源代码可以免费获得,因此,使用嵌入式Linux开发嵌入式应用,用于购买操作系统软件的费用可以忽略不计。且大多数嵌入式Linux使用的开发工具也是遵守GPL协议的,同样可以免费获得。(3)强大的兼容性和扩展性Linux操作系统作为一个完整的、功能强大的操作系统,可以兼容大量的应用程序和应用软件。可以根据需要,利用Linux提供的丰富的软件支持,迅速构建嵌入式应用的软件环境,即使出现某些问题,由于源代码公开,系统内部逻辑可见,就可以快速查明原因采取措施。无形中减少了系统的开放时间和费用。而且由于其开放性,凡遵循开放系统互连(OSI)国际标准所开发的硬件和软件,都能彼此兼容。2.1.4 图形和图像显示技术我国的电视机制式选用北美PAL制,IPTV机顶盒采用电视机作为显示器,故播放器必须支持PAL制720*576标清分辨率图像解码,满足ITU-RBT601要求,支持宽高比为4:3或16:9的视频解码。但由于电视机的显像管是大节距的低分辨率管,只适合显示720*576或640*480的图像,它的偏转系统是固定不变的,是为525行60Hz或625行50Hz设计的,故用低分辨率的电视显示文字,尤其是24*24的小字,问题就变得复杂了。另外,若要上网则需符合VESA格式,显然,电视机的显示系统无法像计算机显示器那样适应这么多格式7。故机顶盒一般采用嵌入式GUI系统来实现图形界面的显示输出。机顶盒实为嵌入式系统,具有体积小、实时性强、稳定性高、开发环境特殊等特点,故机顶盒采用的GUI系统也有如下特点:1. 轻量级,占用资源少2. 实时性,反应速度快,精确度高3. 高稳定,高可靠性4. 可配置,具有特殊的开发调试环境。目前常用的GUI系统有以下几种:MiniGUI、MicroWindows、OpenGUI、QT/Embedde和DirectFB。在本论文研究中,采用的是DirectFB轻量级图形界面库。它是专为嵌入式应用开发的,基于Linux FrameBuffer设备的轻量级的,功能强大的,灵活的,具有图形加速和增强功能的图形库,提供了图形/输入设备处理;窗口管理;硬件图形加速;资源管理与控制;多显示层等功能,广泛应用于中高级的绘图,游戏,机顶盒等等10。DirectFB中的重要接口有:IDirectFB:是DirectFB中的顶级接口,用于访问其它DirectFB接口。IDirectFBFont:用于读取字体文件。IDirectFBVideoProvider:视频提供者的接口,用于高级播放控制和基本流信息回放。IDirectFBImageProvider:用于压缩格式图片的显示,支持JPEG、PNG、GIF和BMP。IDirectFBDisplayLayer:STB810中各个显示层的接口,STB810中共有5层,3个图片层,2个视频层。IDirectFBSurface:用于在显示层(DisplayLayer)上的画图等操作。IDirectFBInputDevice:输入设备的接口,用于按键映射访问,事件缓冲,和状态请求。IDirectFBEvnetBuffer:提供对输入事件和其它Linux文件描述符的访问。2.2 流媒体技术及相关协议2.2.1 流媒体技术流媒体是指在互联网上以数据流的方式实时发布音、视频多媒体内容的媒体,而流媒体技术则是用于在IP网络上发布多媒体数据流的技术,是为解决以中、低带宽网络上的多媒体信息传输问题而产生的一种网络技术。在流媒体出现之前,人们采用的是传统的播放技术,即只能从服务器端将音视频文件完全下载,再进行播放,然而不可避免的缓慢网速让用户无法忍受长时间的等待。在这种情况下,流媒体技术应运而生,它采用了流媒体传输方式,将整个多媒体文件压缩解析成多个压缩数据包,向客户端实时地顺序传送,这样就解决了完全下载长期等待的弊端,实现了一种边下载边播放前面送来的压缩包的功能,用户与流媒体服务器建立连接之后,只需要等待较短的数据缓冲时间,就可以欣赏在线节目了。由此而知,流媒体实现的关键技术就是流媒体传输。随着网络的普及,上网人群的不断壮大,人们对网络的要求也越来越高,相对而言,网络硬件的局限性显得日益明显,网络传输时对文件大小的限制逐渐成为网络发展的一个瓶颈。如何在网络速度如此缓慢的情况下去观看生动清晰的媒体演示,成为人们日益关心的话题,在这种境况之下,一种新的媒体技术应运而生,这就是流媒体技术。流媒体技术改变了传统互联网的呆板形象,丰富了互联网的功能,使之成为一种有强大吸引力的新媒体。毫无疑问,这种技术将会在新闻出版、证券、娱乐以及电子商务、远程培训、视频会议等领域得到广泛的应用6。流媒体并不是单一的技术,它整合了多种网络以及音视频技术。与传统的媒体播放技术相比,流媒体技术的实现需要解决多项技术问题。 第一,多媒体文件需要经过编码压缩以适合传输。普通的多媒体文件尺寸很大,不适合使用现有的窄带网络传输。ITU-T与ISO/IEC是制定视频编码标准的两大组织:ITU-T制定的标准包括H.261,H.263,H.264;ISO/IEC制定的标准为MPEG系列。常用的音频编码标准有MP3, WMA, AAC等,面向语音编码的标准有G.723.1,G.726,G.729等。 第二,流式传输的实现需要合适的传输协议。由于Internet中的文件传输一般是建立在TCP协议基础之上的,但是TCP的特点决定了它并不适合于传输实时数据。故一般都采用建立在UDP协议之上的RTP来传输实时的影音数据。 UDP和TCP协议的主要区别是两者对实现数据的可靠传递特性不同。TCP协议中包含了专门的数据传送校验机制,当数据接收方收到数据后,会自动向发送方发出确认信息,发送方在接收到确认信息后才继续传送数据,否则将一直处于等待状态。与TCP协议不同,UDP协议并不提供数据传送的校验机制。从发送方到接收方的数据传递过程中,UDP协议本身并不能做任何的校验,可见在速度与质量的平衡中,TCP协议注重数据的传输可靠性,但带来很大的系统开销,而UDP协议更加注重数据的传递速度。 第三,需要浏览器对流媒体的支持。一般情况下,浏览器是使用MIME(Multipurpose Internet Mail Extensions通用因特网邮件扩展)来识别各种不同的简单文件格式。所有的Web浏览器都是基于HTTP协议的,而HTTP协议都内建有MIME。因此Web浏览器能够通过HTTP中内建的MIME标记Web上繁多的媒体文件格式,包括各种流媒体文件格式。第四,流媒体传输的实现需要缓存。Internet是以包传输为基础进行断续的异步传输。因此,多媒体数据在传输中要被分解成许多包,网络为各个包选择的路由不一定相同,而且UDP协议不提供数据到达的可靠性保证,故到达客户端的时间先后顺序会发生改变,甚至会产生丢包现象。为此,必须使用缓存技术来弥补数据的延迟,并重新对数据包进行排序,从而使影音数据能连续输出,不会因网络的阻塞而使播放出现停顿。缓存的目的就是在某一段时间内,存储需要使用的数据,数据存储在缓存中的时间是暂时的,播放完的数据即刻被清除,新的数据将被存入到缓存中。因此,在播放流媒体文件时不需要太大的磁盘空间。以上所说的均为流媒体技术实现所必须具备的条件,其他的一些流媒体应用技术则是在这些技术的基础之上变化和发展而来的,最终的目的都是为了解决传输速度、压缩算法以及安全性等问题。2.2.2 实时传输协议RTP/RTCPRTP(Real-time Transport Protocol)3是用于Internet上针对多媒体数据流的一种传输协议。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP的典型应用建立在UDP上,但RTP也可以在TCP或ATM等其他协议之上工作9。当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给RTCP。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。每一个 RTP 报文都由报头(Header)和负载(Payload)两个部分组成,图 2.1是 RTP 报文的分组格式。图2.1 RTP报文分组格式其中 RTP 报文头部前 12 个字节的含义是固定的,而负载则可以是音频或视频数据。RTP报文头格式如图 2.2 所示:图2.2 RTP报文头格式开始的 12 个八位组出现在每个 RTP 包中,CSRC 仅出现在混合器插入时,各部分的含义如下:u V:version,RTP 协议的版本号,占 2 位,当前协议版本号为 2。u P:padding,填充位,如果设置为有效,则报文中就携带了一位或多位填充字节,这些填充字节在报文尾部,不算作有效载荷。u X:extension,扩展位,如设为有效则固定报文后必须紧跟着一个报文头扩展CSRC的个数。u CC:CSRC 计数器,占 4 位,贡献源数量,指示 CSRC 标识符的个数。u M:标记位,占 1 位。表示帧边界。u PT:payload type,占 7 位,有效载荷类型。 u Sequence number:序列号,占 16 位。用于标识发送者所发送 RTP 报文的序列号,其初始值随机产生,随RTP数据包的发送而递增。u Timestamp:时间戳,占 32 位。反映了RTP数据包中第一个数据的采样时刻,其初始值是随机的。u SSRC identifier:同步源标识符,占 32 位,用于标识同步信源。同一个RTP会话中不同的源没有相同的SSRC。u CSRC identifiers:贡献源(CSRC)标识符,每个 CSRC 标识符占 32 位,可以有 0-15 个。表示有效载荷的有效源。从 RTP 报文头格式可以看出,它包含了传输媒体的类型、格式、序列号、时间戳等信息,这些都为流式传输提供了相应的基础。RTP 协议的目的是提供实时数据(如交互式的音视频)的端到端传输服务,因此在 RTP 中没有连接的概念,它可以建立在底层的面向连接或面向非连接的传输协议之上;RTP 也不依赖于特别的网络地址格式,而仅仅只需要底层传输协议支持组帧(Framing)和分段(Segmentation)就足够了;另外 RTP 本身还不提供任何可靠性机制,这些都要由传输协议或者应用程序自己来保证。12在典型的应用场合下,RTP并不作为一个独立的网络层来实现,一般是在传输协议之上作为应用程序的一部分加以实现的,如图 2.3所示:图2.3 RTP与各网络协议的关系实时传输控制协议RTCP(Real-time Transport Control Protocol):负责管理传输质量,在当前应用进程之间交换控制信息。它和RTP一起提供流量控制和拥塞控制服务。在RTP会话期间,各参与者周期性地传送RTCP包。RTCP包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息监测和评价网络传输 QoS 状况,并可采取适当的策略实施同步控制,动态地改变传输速率,甚至改变有效载荷类型。SR 报告中包含有实际时间和相应的 RTP 时间戳,可用于不同媒体间的同步。RTCP 的数据报文分组格式如图 2.4 所示:图2.4 RTCP数据报文格式RTP和RTCP配合使用,它们能以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。RTP提供端对端网络传输功能,适合通过组播和点播传送实时数据,如视频、音频和仿真数据。RTP没有涉及资源预订和质量保证等实时服务,RTCP扩充数据传输以允许监控数据传送,提供最小的控制和识别功能。RTCP协议将控制包周期发送给所有连接者,应用与数据包相同的分布机制。低层协议提供数据与控制包的复用,如使用单独的UDP端口号。2.2.3 实时流传输协议RTSP实时流协议 RTSP(Real-Time Streaming Protocol)13,是由Real Networks和Netscape共同提出的,该协议定义了一对多应用程序如何有效地通过 IP 网络传送多媒体数据,即是一种用于控制多媒体流传送的协议。RTSP在体系结构上位于RTP和RTCP 之上,它使用 TCP 或 RTP 完成数据传输。它有点类似于HTTP协议,只不过HTTP协议提供了传输文本和图像的功能,而RTSP提供了传输声音和视频的能力,并且HTTP协议由客户端发送请求,服务器做出回应,使用RTSP协议时,客户端和服务器都可以发出请求,即 RTSP 是双向的。实时流协议(RTSP)建立并控制一个或几个时间同步的连续流媒体。尽管连续媒体流与控制流交叉是可能的,通常它本身并不发送连续流。换句话说,RTSP充当多媒体服务器的网络远程控制。RTSP连接没有绑定到传输层连接,如TCP。在RTSP连接期间,RTSP用户可打开或关闭多个对服务器的可靠传输连接以发出RTSP 请求。此外,可使用无连接传输协议,如UDP。RTSP流控制的流可能用到RTP,但RTSP操作并不依赖用于携带连续媒体的传输机制3。实时流协议(RTSP)是应用级协议,控制实时数据的发送。RTSP 对音频和视频流提供了一种VCR(Video Cassette Recorder)风格的远程控制功能,比如用户能够对媒体流进行播放、暂停或快进等操作。当前在 Realplayer 和 Mediaplayer 中就采用了 RTSP 协议。RTSP与 RTP 的关系密切,RTP 是 RTSP 默认的多媒体实时数据的传输机制,而 RTSP 则在很大程度上弥补了 RTP 在通信控制中的不足。RTSP 是应用级协议,控制实时数据的发送。RTSP 提供了一个可扩展的框架,使实时数据(如音频与视频)的受控、点播成为可能。数据源包括现场数据和存储在剪辑中的数据。该协议的目的在于控制多个数据发送连接,为选择发送通道(如 UDP、组播 UDP 与 TCP)提供途径,并为选择基于 RTP 上发送机制提供方法。协议支持的主要操作如下:(1) OPTION:客户端检测服务器实现了哪些功能,服务器返回自己能接受的选项。(2) DESCRIBE:客户端通过向服务器发送请求 URL,获得指定节目的描述信息或媒体对象。(3) ANNOUNCE:当客户端向服务器进行发送时,ANNOUNCE 主要是发出由请求 URL 确定的节目描述或媒体对象;当服务器向客户端进行发送时,ANNOUNCE的功能则是实时更新会话描述。(4) GET_PARAMETER:获取节目或 URL规定流的参数值。(5) SETUP:对每个自会话进行设置,决定客户端请求资源的传输机制,要求服务器为其分配资源,开启 RTSP 会话。(6) PLAY:客户端要求服务器以 SETUP 设置的方式开始发送数据。(7) PAUSE:客户端暂时停止流的发送但不释放服务器资源。(8) RECORD:客户端根据节目描述开始记录一段媒体数据。(9) REDIRECT:服务器通知客户端它必须连接到另外的服务器地址。更新的地址指出客户端需要连接到的 URL。(10) TEARDOWN:客户端要求服务器停止发送特定的流,并释放分配给它的资源。以上这些方法中,大部分是双向的,即可以从客户端发往服务器,也可以从服务器发往客户端;而有的则是单向的。对于全功能的服务器,并不需要支持所有的方法。2.2.4 会话描述协议SDPSDP(Session Description Protocol,会话描述协议),用于描述多媒体会话,以便实现会话宣布、会话邀请和其他形式的多媒体会话的启动。SDP 的设计目的就是为了传达关于多媒体会话中媒体流的信息以使得某个会话描述的接收方法能够参加该会话。SDP 定义了会话描述协议的统一格式,但并没有规定如何传输 SDP 消息以及如何协商会话中媒体编码方式,这些工作都有底层协议来完成,如 SAP,SIP,RTSP 及HTTP 等。为方便产生 SDP 信息及提高可携带性,SDP 会话描述完全是纯文本形式,在底层协议传输 SDP 描述信息时也可以采用纯文本的形式发送。一个会话的 SDP 信息主要是由会话的名称、目的信息、会话的时间信息、会话中所有媒体的信息及各个媒体接收信息组成,同时也可以包含一些附加信息,如会话所需的网络带宽信息、会话负责人的联系信息等14。其中媒体信息主要包括以下几部分:(1) 媒体类型(音频、视频等)(2) 传送协议(RTP/ UDP 等)(3) 媒体格式(mp3、AAC、mpeg 等)(4) 媒体的发布地址及端口(如 88:8554)时间信息主要包括:(1) 会话开始以及结束时间(2) 每个时间段的重复时间会话描述是由会话级描述部分和媒体级描述部分构成,会话级描述部分给出适合整个会话和所有媒体流的描述信息,而媒体级描述部分是给出每个具体媒体流的信息,如果在该部分并没有对会话级描述部分的给定值重新定义,则使用媒体级描述部分的定义。对于一个会话描述可以包括零个或多个媒体级描述部分,但只能有一个会话级描述部分。2.2.5 MPEG-2传输流MPEG-2根据不同的压缩编码方式,将原始的音视频数据分别压缩成不同的数据帧。这些数据帧按照不同的组合组成图像组,再加上序列头等数据组成基本码流(Elementary Stream,ES)。基本码流ES建立后还要以PES (Packetized Elementary Stream,打包的基本流)的格式进行打包,ES数据被暂时分割成一个一个的数据包,而且保持串行顺序。这些数据包加上PES包头后就构成了PES包。一个PES分组包只能包含同一种ES流的数据。PES包的长度是可变的,但其长度在大多数实际应用中相对较长,可达64KB的长度。其中包括6字节的PES头部,PES头部由3字节的起始码,1字节的流ID和2字节的长度域组成。在MPEG-2标准中,定义了两种不同类型的码流格式。一种是节目流(PS Program Stream),PS流主要适用于可靠的存储媒体,即存储具有固定时长的节目。例如,DVD光盘上的MPEG-2节目就是以PS格式存储的。另外一种格式的码流称为传输流(TS Transport Stream),TS流主要应用于实时传送的节目,适用于在有
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年甘肃省嘉峪关市卫生健康委员会招聘公益性岗位人员10人考前自测高频考点模拟试题及答案详解(易错题)
- 2025能源控股集团所属辽能股份招聘模拟试卷(含答案详解)
- 2025广东深圳市九洲电器有限公司关IQC招聘1人考前自测高频考点模拟试题附答案详解(突破训练)
- 涂装电泳知识培训心得
- 2025华晋焦煤井下操作技能人员招聘100人(山西)考前自测高频考点模拟试题附答案详解(完整版)
- 2025年上半年安徽交控集团所属交控资源公司招聘7人考前自测高频考点模拟试题及答案详解(网校专用)
- 安全培训菏泽课件
- 安全培训英文翻译课件
- 涂料色卡销售知识培训课件
- 涂料基础知识培训总结
- 2025年肺功能证考试题及答案
- 2026中国海洋石油集团有限公司秋季校园招聘备考考试题库附答案解析
- 2025年及未来5年中国羊奶粉行业市场调研分析及投资战略咨询报告
- 学校物业委托管理服务合同7篇
- 人教版九年级物理上-各单元综合测试卷含答案共五套
- 角膜炎(欢迎观看)课件
- 少先队大队委候选人推荐表
- 重要环境污染物及环境疾病课件
- 消防维保指导价格
- 激素类药物分级管理制度及实施细则
- 中国医院质量安全管理 第4-6部分:医疗管理 医疗安全(不良)事件管理 T∕CHAS 10-4-6-2018
评论
0/150
提交评论