rtsp协议范文

时间:2023-03-07 05:59:39

rtsp协议

rtsp协议范文第1篇

关键词:VOD;RTSP;LiveMedia;计费接口

中图分类号:TP915.04 文献标识码:A 文章编号:1009-3044(2009)15-4019-03

The Design and Implementation of Streaming Media Video Server

ZHAO Peng1, DU Wen-hua2,ZHANG Dong-sheng3,LI Xiao-feng1,ZHAO Jie4

(1.Department of Computer Science and Technology,Shandong Jianzhu University, Jinan 250101, China; 2.Shandong Institute of Education,Jinan 250014,China;3.Jinan Cigarette Factory,Jinan 250104,China;4.No.5 High School of Qingzhou City in Shandong Provice,Qingzhou 262514,China)

Abstract: This paper describes RTP protocol for streaming media transmission and the RTSP Protocol for the Real-Time Streaming,introduces a video-on-demand server and the client interaction’s process, and puts up with the knowledge of LiveMedia library in detail, sets up the on-demand server, in particular, adds the billing module, implements the billing function, and can be used for small and medium-sized hotels, communities in order to save the cost.

Key words: VOD;RTSP;LiveMedia;the Billing Interface

1 引言

近年来,随着Internet技术的发展,主干网和接入网速率不断提高,为宽带应用提供了必需的硬件基础设施;网络和多媒体技术的发展为VOD(video on demand)产生创造了条件。同时,VOD属于流媒体技术的一种主要应用,它改变了传统的用户被动接受的方式(如收看电视),而代之以交互的方式,变革了人们传统的娱乐方式,具有极为广阔的前景。本文从降低系统成本的角度进行分析探索,提出了基于开源项目LiveMedia的方案。

2 流媒体服务器的概况

2.1 相关协议

与流媒体传输相关的协议有RTP,RTCP,RTSP,其中RTSP,RTP等实际应属于应用层协议,它们利用传输层TCP和UDP提供的服务来完成多媒体流式数据的传输,协议图如图1所示。

2.2RTP简介

1) RTP[1]是针对Internet上多媒体数据流的一个传输协议,由IETF(Internet工程任务组)作为RFC1889。RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP的典型应用建立在UDP上,但也可以在TCP或ATM等其他协议之上工作。RTP本身只保证实时数据的传输,并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。

RTP和UDP协议二者共同完成传输层协议功能。UDP协议只是传输数据包,不管数据包传输的时间顺序RTP的协议数据单元是用UDP分组来承载的。RTP协议虽然是传输层协议但是它没有作为OSI体系结构中单独的一层来实现。

2) RTCP负责管理传输质量在当前应用进程之间交换控制信息。在RTP会话期间,各参与者周期性地传送RTCP包,包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料。因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,故特别适合传送网上的实时数据。

当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给RTCP。

2.3 RTSP简介

实时流协议RTSP(Real-time Streaming Protocol)[2]是由Real Networks和Netscape共同提出的。该协议定义了一对多应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上。它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTSP传送是多媒体数据。HTTP请求由客户机发出,服务器作出响应;使用RTSP时,客户机和服务器都可以发出请求,即RTSP可以是双向的。

RTSP建立并控制一个或几个时间同步的连续流媒体,如音频和视频。尽管连续媒体流与控制流交叉是可能的,RTSP本身并不发送连续流。换言之,RTSP充当多媒体服务器的网络远程控制。RTSP提供了一个可扩展框架,实现实时数据(如音频与视频)的受控、按需传送。数据源包括实况数据与存储的剪辑。RTSP用于控制多个数据发送会话,提供了选择发送通道(如UDP、组播UDP与TCP等)的方式,并提供了选择基于RTP的发送机制的方法。

RTSP主要为媒体服务器提供远程控制功能,在多媒体流传输的过程中,播放器和服务器之间通过交换RTSP消息来实现资源描述信息的获取、连接的建立、播放控制等功能。RTSP消息用纯文本格式表示,使用SDP(SessionDescriptionProtocol)协议描述。

3 服务器的设计与实现

3.1 服务器的设计

服务器与客户端经过OPTIONS,DESCRIBE,SETUP,PLAY后,服务器发送视频流RTP包到客户端,并且客户端每隔一小段时间向服务器发送RTCP反馈报告,服务器可以利用这些信息动态地改变传输速率,用户收到视频流后,解码播放。正如文章[3]所说,如图2所示客户端与服务器端的交互过程。

1) Option:客户端通过发送Option消息请求,服务器端通告它支持的所有交互方法。

2) Describe:客户端发送Describe请求,通过服务器端权限验证,响应关于请求媒体的相关信息;

3) Setup:客户机发送一个Setup请求,其中包括协议集和端口号(或者是端口号的一个范围),客户机通过这些协议集和端口来接收媒体流。服务器从中选择一个协议和端口,然后在应答消息中传回给客户机;

rtsp协议范文第2篇

关键词: Darwin Streaming Server;流媒体;RTSP;直播

中图分类号:TP311.52 文献标识码:A 文章编号:1671-7597(2012)0310040-01

0 引言

随着网络技术和流媒体技术的发展,流媒体技术的出现给互联网带来勃勃生机。为了在网上听歌或者看一部电影,人们不需要再等待漫长的下载过程,可以直接尽情的享受其中的乐趣。

Darwin Streaming Server简称DSS。DSS是Apple公司提供的开源实时流媒体播放服务器程序。整个程序使用C++编写,在设计上遵循高性能,简单,模块化等程序设计原则,务求做到程序高效,可扩充性好。并且DSS是一个开放源代码的,基于标准的流媒体服务器,可以运行在Windows NT和Windows 2000,以及几个UNIX实现上,包括Mac OS X,Linux,FreeBSD,和Solaris操作系统上的。

1 使用VLC作为视频流接受生成SDP方法实现直播

1.1 采集端(Windows操作系统)

使用本公司开发的QN_AMCAP通过电脑USB接口摄像头,获取视频信息,编码之后,通过RTP的方式发送给darwin流媒体服务器。也可以使用VLC直接获取USB接口摄像头视频信息,然后再进行编码发送。VLC支持发送的协议有:HTTP,MS-WMSP(MMSH),RTSP,RTP,UDP等协议,通过这些协议都可以使用VLC将视频流信息发送到目的地。下面是几种协议VLC使用的发送命令:

1)HTTP协议的发送命令是:

:Sout=#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:http{mux=ts,dst=:8080/}:no-sout-rtp-sap :no-sout-standard-sap :sout-all :ttl=1 :sout-keep

2)MS-WMSP(MMSH)协议的发送命令是:

:sout=#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:std{access=mmsh,mux=asfh,dst=0.0.0.0:8080}:no-sout-rtp-sap :no-sout-standard-sap :sout-all :ttl=1 :sout-keep

3)RTSP协议的发送命令是:

:sout=#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:rtp{sdp=rtsp://:5544/}:no-sout-rtp-sap :no-sout-standard-sap :sout-all :ttl=1 :sout-keep

4)RTP协议的发送命令是:

:sout=#transcode{vcodec=h264,vb=800,scale=1,acodec=mp4a,ab=128,channels=2,samplerate=44100}:no-sout-rtp-sap :no-sout-standard-sap :sout-all :ttl=1 :sout-keep

1.2 Darwin服务器端(windows\linux系统)

使用VLC接收采集端发送到darwin服务器端的视频流,并且在darwin安装目录先的Moves目录下生成SDP文件。Darwin服务器通过SDP文件获得需要的视频播放信息,将视频流转换为RTSP流,其他的客户端便可通过RTSP协议播放直播内容。

2 使用darwin的relay中继功能实现直播

2.1 Darwin设置中继

使用三台windows的PC,一台(命名为A,IP地址为192.168.1.2)作为源server,一台(命名为B,IP地址为192.168.1.3)做relay服务器,一台(命名为C,IP地址为192.168.1.4)作为客户端。在A机上使用VLC或其他RTSP源,A机将本机上获取到的直播视频信息发送给B机,然后C机就能够通过访问B机来播放A机的媒体文件,也就是通过VLC或其他RTSP源,darwin流媒体服务器实现了视频直播。

2.2 VLC或其他RTSP源发送RTSP流

A机也就是源server,不需要使用darwin服务器,而是使用VLC获取USB接口摄像头视频信息,然后通过RTSP协议发送给B机。需要配置的darwin服务器为B机。

配置步骤:

1)B机安装perl和Darwin Streaming Server,C机安装VLC播放器。

2)在A机中使用VLC开始发送RTSP流。

2.3 Darwin流媒体服务器通过中继功能接收RTSP流

Darwin流媒体服务器可以通过中继功能接收VLC或其他RTSP源发送过来的RTSP流,然后实现直播功能。

下面是实现的步骤:

1)将A机VLC生成的SDP文件(v.sdp文件)拷贝到B机的媒体文件夹中。在B机上编辑v.sdp文件,找到第一个以“m=”开头的行,将0改为前面在Relay Setting中配置的Base Port(i.e.20000);继续找到下一个以“m=”开头的行,将0改为Base Port+2(i.e.20002)。

2)B机打开浏览器键入192.168.1.3:1220,输入用户名和密码。

3)在B机建立新的relay。单击左侧relay Settings,在右侧选择New Relay。

① Source Settings中:

Source Hostname or IP Address中填写源数据IP。因为是接收A机VLC或其他RTSP视频源发送过来的直播RTSP流,所以,Source Hostname or IP Address中填写的是A机的IP地址:192.168.1.2。

Mount Point就填写要播放的直播RTSP流的名字(/v.sdp)。

Request incoming Stream中填写A机的DSS用户名和密码。

② Destination Settings中:

Hostname or IP Address填写目的IP地址。因为是接收A机发送过来的直播视频流,所以,Source Hostname or IP Address中填写的是127.0.0.1。

Base Port中填写将送达B机的端口号(这个需要在VLC或其他RTSP源发送RTSP流的时候进行设置)。

Multicast TTL填写最多可以中继的级数。

在页面最下方有save changes保存设置。

4)启动C机的VLC,打开url:rtsp://192.168.1.3/v.sdp。

5)C机播放了A机发出的直播视频。

3 结语

本文对通过苹果开源项目Darwin Streaming Server作为流媒体服务器来实现流媒体直播方案相关讨论,通过对Darwin服务器的设置方法和配置,来实现了两种流媒体的直播方案。

参考文献:

[1]杨海澜,流媒体系统中的几项关键技术分析及应用[J].武汉交通职业学院学报,2006.03.

rtsp协议范文第3篇

关键词:Gstreamer; 流媒体; RTSP; RTP/RTCP

中图分类号:TN919.8 文献标识码:A 文章编号:1006-3315(2013)03-149-002

1.前言

流媒体技术以流的方式在网络中传输媒体,具有良好的实时性和交互性。随着3G、4G等高速移动通信技术的发展成熟和多媒体智能移动设备的普及,流媒体技术获得了广泛应用和迅速发展。本文基于GStreamer架构,采用RTP/RTCP协议实现数据传输,设计了一种流媒体播放器,处理芯片采用OMAP3430,操作系统为嵌入式Linux系统,借助高速网络,可以实现高质量的流媒体播放。

2.相关技术介绍

2.1流媒体技术。流媒体是指以流的方式在网络中传输音频、视频和多媒体文件的形式。流媒体文件格式是支持采用流式传输及播放的媒体格式。流式传输方式是将视频和音频等多媒体文件经过特殊的压缩方式分成一个个压缩包,由服务器向用户计算机连续、实时传送。用户采用内容缓存的方式,只需要进行很短时间的缓冲,就可以一边播放一边下载,而不需要提前下载整个文件。

流媒体传输一般都是采用建立在udp协议上的rtp/rtsp实时传输协议。相对于注重传输质量的tcp协议来说,udp协议更加注重传输速度,这种协议对于实时性要求很高的流媒体文件来说,无疑是更加合适的。

2.2Gstreamer概述。GStreamer是一种流媒体应用框架,采用了基于插件(plugin)和管道(pipeline)的体系结构,框架中的所有的功能模块都被实现成可以插拔的组件(component),并且在需要的时候能够很方便地安装到任意一个管道上,由于所有插件都通过管道机制进行统一的数据交换,因此很容易利用已有的各种插件“组装”出一个功能完善的多媒体应用程序。其主要功能模块包括元件、衬垫、箱柜等。

元件(Elements)是Gstreamer框架中所有可用组件的基础,是组成管道的基本构件。元件可以分为数据源元件、过滤器元件、接收器元件等,实现数据的输入、处理和输出等功能。

衬垫(pad)是元件(element)与外界的连接通道,每个衬垫都带有特定的功能信息,通过将不同元件的衬垫依次连接起来构成一条媒体处理管道,使数据在流经管道的过程能够被各个元件正常处理,最终就可以实现特定的多媒体功能。

箱柜(Bins):箱柜是一个可以装载元件的容器,同时其自身也是一个GstElement对象,也能够被用来容纳其他的箱柜对象。

2.3实时传输协议(RTP/RTCP)。RTP/RTCP协议栈由两个相互紧凑的协议组成,其中RTP协议负责传送具有实时特征的多媒体数据,而RTCP协议负责反馈控制、监测QoS、监视和传递相关信息。由于流媒体数据传输对于传输实时性的要求远高于传输可靠性,RTP/RTCP数据通常采用UDP/IP封装,它们共同完成网络传输层的功能。

2.4实时流媒体协议(RTSP)。RTSP协议是一种对流媒体数据的传输进行控制的应用级协议。通过RTSP协议,可以实现音视频的控制、点播等功能。

3.流媒体播放器的实现

本文设计的流媒体播放器,可以分为以下几个模块:用户界面、RTSP控制模块、RTP/RTCP传输模块、数据转换模块、解码模块、视音频输出模块。如图1所示。用户通过用户界面与客户端交互,RTSP模块响应用户界面发送的命令,建立RTP数据传输会话,会话建立之后,由RTP/RTCP模块循环接收RTP数据包并进行排序,然后转换模块对RTP数据进行解包,转换成原始的音视频数据,然后送入解码模块进行解码,最后通过音视频输出模块将媒体展示给用户。

图1流媒体播放器架构

用户界面是客户端跟用户之间交互的界面,它包括两部分内容:一是媒体播放控制,比如暂停、快进等;二是媒体内容的展示,比如视频画面的显示等。在Linux系统下,本文利用GTK+库开发GUI框架。

RTSP模块用于会话的建立和控制,它提供响应界面操作的接口,直接响应界面发送的命令。RTSP也提供互联的双方或多方的一个传输方式和编码方式的协商操作,在网络允许的情况下,建立一条最佳的传输通道。当客户端用户选择服务器上某项流媒体内容的时候,播放器会通过RTSP协议,与服务器建立会话,通知服务器往本地RTP接收端口发送音视频数据。

RTP/RTCP模块为流媒体播放器的核心组成部分,当RTSP建立传输会话之后,RTP和RTCP会各使用一个端口,RTP端口会循环接收RTP数据包,同时RTCP端口会周期性的发送RTCP报,RTCP包中包含已发送的数据包的数量、丢失的数据包的数据等统计资料,因此,服务器可以利用这些信息动态的改变传输速率,甚至改变有效载荷类型。RTP包由RTP包头和RTP数据构成,RTP包头中包含了一些可以较好保证流数据连续性实时性的信息,如序列号、时间戳等。序列号可以保证到达客户端的RTP包的连续,而时间戳可以同步音视频包。根据包头中的时间戳接收的数据包进行重新排序,然后传送到转换模块进行处理。

4.小结

本文采用Gstreamer架构,对RTP/RTCP/RTSP协议进行了深入研究,设计了一种基于Linux系统的流媒体播放器,通过构建RTP/RTCP流媒体传输插件,实现了流媒体数据的实时传输和播放,在终端设备中可以取得良好的流媒体播放效果。

这种基于Gsreamer的媒体播放器具备良好的灵活性和可移植性,借助高速传播网络,特别适合在各种不同类型的智能终端实现流媒体的接收和播放等功能,在视频监控、远程会议、视频教学、多媒体娱乐等多种不同场合都可以获得广泛应用。

参考文献:

[1]孙弼阳,李虹,王颖.移动流媒体业务的技术与应用[J]现代电信科技,2008(06):13-18

[2]陈丹,郭先会.RTP/RTCP协议在3GPP移动流媒体业务中的研究与应用[J]山西电子技术,2010(06):65-66

[3]陈洪敏.基于RTP/RTCP协议流媒体传输的研究[J]福建电脑.2010(02):93-94

[4]王蕊,刘卫东,王金童.基于GStreamer的媒体播放研究[J]电子设计工程.2012(03):34-36

[5]刘尚麟,刘军.GStreamer RTP插件的改进及应用[J]信息安全与通信保密,2009,(01):91-95

rtsp协议范文第4篇

关键词:移动流媒体;实时流媒体协议;MINA;服务器

中图分类号:TP393文献标识码:A文章编号:1009-3044(2011)10-2380-02

Design and Implementation of RTSP Mobile Streaming Proxy Based on MINA Framework

HAN Dong-dong

(Southwest Jiaotong University Institution of Mobile Communication, Chengdu 610031, China)

Abstract: In this paper, a RTSP (Real Time Streaming Protocol) mobile streaming proxy server is designed and implemented based on Apache MINA (Multipurpose Infrastructure for Network Applications) framework. The proxy server may find applications in campus, hotel, and similar hot spots, to allow multimedia access with smart phones having WiFi functionality.

Key words: Mobile streaming; real-time streaming protocol; MINA; proxy server

伴随着国内第三代移动通信的建设热潮和移动互联网的普及,越来越多的人们开始在手机等移动便携终端上使用上网业务。网页浏览、邮件接收等单纯的文本数据服务已无法满足手机用户的需求。与此同时,手机用户对网络音视频需求正不断增加。目前国内一些主要的手机门户网站也提供视频服务,但是高昂的流量费用、有限的音视频资源、有限的手机处理能力以及现有“先下载再播放”的模式都阻碍了移动音视频服务的发展。相对于“先下载再播放”的模式,广泛应用于传统互联网的流媒体(Streaming Media)技术把连续的音频和视频数据流式的从服务器端发送到客户端,用户可以边下载边观看,而不必等待整个文件下载完毕。

鉴于上述情况,本文研究了RTSP实时流媒体协议,设计实现了一种基于Apache MINA的移动流媒体服务器,将流媒体技术应用于移动领域,并借助大部分手机都具有的WIFI模块向用户提供音视频服务,使手机用户接入互联网的音视频服务。该服务器将主要应用于公共热点等无线局域网环境。

1 移动流媒体协议RTSP

RTSP流媒体协议是目前业界最为流行和广为采用的移动实时流媒体协议。国内主流的在线视频网站优酷等均采用了这种协议。它实际上由一组在IETF中标准化的协议所组成,包括RTSP(实时流媒体会话协议)[1],SDP(会话描述协议)[2],RTP(实时传输协议)[3],以及针对不同编解码标准的RTP负载格式等,共同协作来构成一个流媒体协议栈,如图1所示。基于该协议栈的扩展已被ISMA(互联网流媒体联盟)和3GPP(第三代合作伙伴计划)等组织采纳成为互联网和3G移动互联网的流媒体标准[4-5]。

RTSP协议是用来建立和控制一个或多个时间同步的连续音视频媒体流的会话协议。通过在客户机和服务器之间传递RTSP会话命令,可以完成诸如请求播放、开始、暂停、查找、快进和快退等VCR控制操作。SDP协议用来描述多媒体会话。SDP协议的主要作用在于公告一个多媒体会话中所有媒体流的相关描述信息,以使得接收者能够感知这些描述信息并根据这些描述参与到这个会话中来。SDP会话描述信息通常是通过RTSP命令交互来进行传递。RTP又称为实时传输协议,用于实际承载媒体数据并为具有实时特性的媒体数据交互提供端到端的传输服务,例如净载类型识别、序列号、时间戳和传输监控等[6]。

2 移动流媒体服务器

移动流媒体服务器一般位于两个不同的网络之间,起到网关的作用。服务器和移动终端之间为无线通信方式(WIFI或者3G),服务器到流媒体服务器之间一般为有线的、高速的互联网。

两种运行环境:1)无线局域网,在这种环境下,手机通过自身的WIFI通信模块连接到无线AP从而接入互联网,服务器可部署在AP和互联网之间;2)3G或者GPRS网络中,手机通过移动通信系统接入互联网,服务器可以部署在移动分组域的GGSN和互联网之间。

两种适用的方式:1)透明,该模式中用户不需要知道服务器的存在,不需设置,支持所有的手机客户端,但需要所在网络的支持,即所在网络的网关会识别移动流媒体的流量并将其转发到服务器处理;2)手动,该模式可以基于现有的用户所在网络,用户需要知道服务器的IP地址和端口,然后手动设置移动流媒体连接的。

考虑到实施的方便性,本项目的实验环境选为无线局域网,并使用手动的方式。如图2所示的实验环境。其中移动终端和服务器位于两个不同的网络中,移动终端不能直接访问服务器,但可以连接到服务器。

3 MINA框架

移动流媒体服务器基于MINA网络应用程序框架。MINA(Multipurpose Infrastructure for Network Applications)是用于开发高性能和高可用性的网络应用程序的基础框架。通过使用MINA框架可以省下处理底层I/O和线程并发等复杂工作,开发人员能够把更多的精力投入到业务设计和开发当中。MINA结构如图3所示[7]。

MINA的主要接口如下[7]:

1) IoService:这个接口在一个线程上负责套接字的建立,拥有自己的Selector,监听是否有连接被建立。

2) IoProcessor:这个接口在另一个线程上负责检查是否有数据在通道上读写,也就是说它也拥有自己的Selector,这是与我们使用JAVA NIO 编码时的一个不同之处,通常在JAVA NIO 编码中,我们都是使用一个Selector,也就是不区分IoService与IoProcessor 两个功能接口。另外,IoProcessor 负责调用注册在IoService 上的过滤器,并在过滤器链之后调用IoHandler。

3) IoFilter:这个接口定义一组拦截器,这些拦截器可以包括日志输出、黑名单过滤、数据的编码(write 方向)与解码(read 方向)等功能,其中数据的encode 与decode是最为重要的、也是你在使用Mina 时最主要关注的地方。

4) IoHandler:这个接口负责编写业务逻辑,也就是接收、发送数据的地方。

4 服务器系统结构

服务器需要连接客户端和服务器,因此结构上自然分为服务器端(Server Side)和客户端(Client Side)对称的两部分,如图4所示。

其中,Server Side用于与Streaming Media Server的交互,向服务器请求连接和数据。Client Side用于与Mobile Streaming Client的交互,负责响应客户端的请求。这两部分都是基于上述的MINA框架,MINA分别提供了IoAcceptor和IoConnector两个接口。其中Client Side需要实现IoAcceptor接口,Server Side需要实现IoConnector接口。图5为Client Side的接收手机连接请求的数据流。

5 系统功能

服务器系统的5个系统用例如图6所示。

本服务器实现的主要功能为实现RTSP协议信令,并根据需要修改部分参数,然后作为RTP和RTCP包的中继,进行数据转发,即上图中的RTSP协议流量。

视频转码作为一种可选的加强功能,系统调用第三方的插件如FFMPEG等对RTP数据包中的视频负载格式进行转化,如码率压缩等,将互联网上的视频转化为手机能够识别的通用的格式。

另外,本系统功能还包括用户接入认证,系统日志,系统配置等附加功能,可提高系统的安全性和健壮性。还可以考虑在视频播放前后或缓冲时插入广告视频等扩展功能。目前,可供配置的系统参数主要为Client Side和Server Side分别绑定的IP地址和端口,以及日志系统的相关配置参数。

在系统实验中,使用诺基亚Symbian S60手机模拟器(IP地址为192.168.11.3)播放流媒体服务器上的视频,该服务器为Darwin Streaming Server,IP地址为192.168.2.3。手机模拟器不能直接访问该服务器,只能连通服务器。

服务器具有两个以上的网卡,服务器的Client Side绑定IP为 192.168.11.4的网卡,Server Side绑定IP为 192.168.2.1的网卡,服务器在192.168.11.4地址上监听9554端口。

首先,打开诺基亚手机自带的RealPlayer,点击“选项”,然后选中“”进入设置,点击“使用”以激活服务,并将服务器IP和端口填入,到此手机配置完成。输入测试URL:rtsp://192.168.2.3:554/test.3gp点击播放。通过软件抓包分析和服务器系统日志,在服务器运行的情况下,可验证手机通过服务器顺利播放了在线视频。 而关闭服务器则无法连接。手机设置和播放截屏如图7所示。

6 结论

在研究RTSP移动流媒体协议的基础上,本文探讨了移动流媒体服务器相关实现技术。并基于MINA网络应用程序框架,设计并成功实现了一个适用于无线局域网的移动流媒体服务器。

本服务器可以部署在公共的热点,比如校园、酒店、飞机场、咖啡店等场所。移动终端可以在设置服务器后播放互联网上的视频,服务器会将处理后的视频数据传送的用户终端,并可以在在播放前后插入广告视频。

参考文献:

[1] Schulzrinne H,Rao A,Lanphier R.Real time streaming protocol(RTSP) [S],RFC 2326, 1998.

[2] Handley M ,Jacobson V.SDP:Session description protocol[S].RFC 2327,1998.

[3] Schulzrinne H, Casner S, Frederick R,etal.RTP:A transport protocol for real-time[S].

[4] ISMA 2.0:Internet Streaming Media Alliance Implementation Specification[S],2005.

[5] 3GPP TS 26.234 V6.1.0:Transparent end-to-end Packet-switched Streaming Service (PSS);Protocols and codes(Release 6)[S],Sep.2006.

[6] 霍龙社,甘震. 移动流媒体协议综述[J].信息通信技术,2010,4(6-13).

rtsp协议范文第5篇

【关键词】流媒体;数据压缩/解压缩;RTP/RTSP/RSVP;DRM

1.流媒体应用背景

随着信息通信技术和IP技术的不断进步,国家大力推进信息化,互联网和宽带通信网得到了极大的发展,流媒体技术也得到了飞速发展。流媒体技术的一个重要技术特征是将经过压缩处理后的媒体流从服务器发送到用户端,在网络传送的过程中用户可以一边缓存和一边播放。

流媒体技术能够在远程教学、电视直播、视频点播等具有大数据量应用的业务提供者和使用者之间,利用信息流的方式提供连续的、有严格时序关系的、准实时的多媒体信息传输服务。

2.流媒体三大关键技术

流媒体的三个关键技术包括数据压缩/解压缩技术、流媒体的网络传输和媒体文件在流式传输中的版权保护问题。

2.1数据压缩/解压缩技术

流媒体的本质是媒体,流是媒体传递过程中的一表现形式。媒体的编码本质就是音频的编码和视频的编码,然后将两者同步传送,形成媒体流。相比传统的编码方法,流媒体的关键在于降低文件大小,使之能减少带宽压力,也即是除了要做到和传统的编码相同的功能外,压缩是流媒体编码的重点考虑因素,解码只是对编码数据的恢复,虽然也很重要但不是技术的关键。视/音频压缩编码技术是数字电视和交互式系统、多媒体计算机、多媒体通信中的关键技术,它也是流媒体技术的核心之一,它将原来不适合网络传输的大体积文件转化成可以适合网络传输的小体积文件,通常称为压缩编码技术。

数据的压缩方式和图像压缩的JPEG格式很相像,流媒体在播放时,播放器进行实时的解压缩。在不影响文件播放质量的前提下,会丢弃一些不必要的数据。流媒体的文件体积要比其他类型的媒体文件小的多,和传统的声音(WAV)以及视频(AVI)文件相比,同样内容的流媒体文件体积只有它们的5%左右。

2.2流媒体的网络传输

流媒体压缩编码以后,如何在网络上有效传输是另外一个需要考虑的重要问题。和WEB服务器采用的超文本传输协议(HyperText Tranfer Protocol,HTTP)相比,流媒体服务器采用了一些适合流媒体传输特性的传输协议。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用实时传输协议/用户数据报协议(RTP/UDP)来传输实时数据。流式传输的过程一般如下:

(a)用户选择某一流媒体服务后,WEB浏览器与WEB服务器之间使用HTTP/TCP交换控制信息,以便将需要传输的实时数据从原始信息中检索出来。

(b)WEB浏览器启动音视频客户程序,使用HTTP从服务器检索相关参数并对音视频客户程序初始化,这些参数可能包括目录信息、音视频数据的编码类型以及与音视频检索相关的服务器地址信息等。

(c)音视频客户程序及音视频服务器运行实时流协议,以交换音视频传输所需的控制信息,同时提供执行播放、快进、快倒、暂停及录制等命令的方法。

(d)音视频服务器使用RTP/UDP协议将音视频数据传输给音视频客户程序,一旦音视频数据抵达客户端,音视频客户程序即可播放输出。

在网络拥挤的情况下,没有办法保证流媒体文件及时有效的传输,单纯依靠数据缓冲技术依然无法满足顺畅欣赏网络媒体的要求。

确保流媒体文件高效快速传输的技术成为迫切的需求,RTP/RTCP、RTSP和RSVP这三种协议就是为了保证流媒体在Internet中高效、实时传输的技术体制。

2.2.1实时传输协议RTP与RTCP(Real-Time Control Protocol,RTCP)

RTP是用于Internet上的针对多媒体数据流的一种传输协议。RTP被定义为在一对一或一对多的情况下工作,其目的是提供时间信息和实现流同步。RTP通常使用UDP来传送数据,但RTP也可以在TCP或ATM等其它协议上工作。当应用程序开始一个RTP会话时将使用两个端口:一个给RTP,一个给RTCP。RTP本身并不能为按顺序传送数据包提供可靠的传送机制,也不提供流量控制或拥塞控制,它依靠RTCP提供这些服务。RTCP和RTP一起提供流量控制和拥塞控制服务。RTP和RTCP配合使用,以有效的反馈和最小的开销使传输效率最佳化,因而特别适合传送网上的实时数据。

2.2.2实时流协议RTSP(Real-Time Streaming Protocol,RTSP)

RTSP是由Real Networks和Netscape共同提出的,该协议定义了一对多情况下应用程序如何有效地通过IP网络传送多媒体数据。RTSP在体系结构上位于RTP和RTCP之上,它使用TCP或RTP完成数据传输。HTTP与RTSP相比,HTTP传送HTML,而RTP传送的是多媒体数据,RTSP可以是双向的。

2.2.3资源预订协议RSVP协议(Resource Reserve Protocol,RSVP)

RSVP是正在开发的Internet上的资源预订协议,使用RSVP预留一部分网络资源(即带宽),能在一定程度上为流媒体的传输提供QoS。RSVP是网络控制协议,它使Internet应用传输数据流时能够获得特殊服务质量(QoS),RSVP是非路由协议;它同路由协议协同工作,建立与路由协议计算出路由等价的动态访问列表。RSVP协议的两个重要概念是流与预定。流是从发送者到一个或多个接收者的连接特征,通过IP包中"流标记"来认证。发送一个流前,发送者传输一个路径信息到目的接收方,这个信息包括源IP地址、目的IP地址和一个流规格。这个流规格是由流的速率和延迟组成的,这是流的QoS需要的。接收者实现预定后,基于接收者的模式能够实现一种分布式解决方案。

RSVP领域的发展是非常迅速的,因RSVP的预定必须建立在完全流方式的基础上,目前的应用只是局限在测试的小Internet网络上。

DRM数字版权管理(Digital Rights Management),是流媒体中对于版权控制的关键技术,它可以在一定程度上避免媒体文件被数字化后的盗版问题,DRM是解决这一问题的途径。

3.流媒体技术在IPTV中的应用前景

流媒体技术是IPTV技术的基础,它能够有效地促进IPTV技术的推广应用。目前在IPTV中的普遍使用的是MPEG-4的压缩编码方式,而H.264是未来的发展方向。随着编码技术的发展,今后各种编码技术的走向是一致的。

传输技术的关键是如何在无质量保证的Internet上传输需要有保证的实时流媒体文件。在无质量保证的Internet上,叠加一些能够保证质量的体制,以确保实时流媒体的高效稳定传输,主要就是RTP/RTCP,RSTP和RSVP,这三种协议是目前的主要体制,它们都是保证流媒体高质量传输的有效手段。

4.总结

rtsp协议范文第6篇

关键词:

流媒体; 线程; 嵌入式Linux; 视频监控

中图分类号: TP 393 文献标识码: A

引 言

视频监控是光电行业的一个重要领域,随着通信技术和多媒体技术的发展,嵌入式视频监控摄像系统得到了广泛的应用,人们对视频监控的要求和质量也越来越高。因此视频监控摄像系统呈现出数字化、网络化两个主要特点。尤其近年来流媒体技术的发展更加促进了实时视频摄像的发展。

嵌入式技术是先进的计算机技术、超大规模集成电路、软件技术和各个行业相关应用相结合的产物。嵌入式系统是以应用为中心,软硬件可剪裁,能适应应用系统,对功能、可靠性、成本、体积、功耗等综合性要求较高的专用计算机系统。嵌入式系统是相对于通用计算机系统而提出的。嵌入式系统也是一种软硬件混合系统。嵌入式操作系统采用Linux操作系统,Linux系 统源码开放,内核功能强大,多任务,易于裁剪,通信功能完善,具有良好的开发工具和环境。基于嵌入式流媒体系统体积小、价格便宜、功耗低,尤其是实时性效果好,所以得到了广泛的应用[1-3]。

1 系统硬件结构

图1所示为流媒体服务器系统硬件设计平台,ARM选用海思公司的HI3511,HI3511是基于ARM926EJ内核的32位RISC的处理器,具有标准32位ARM指令集和16 位THUMB指令集。HI3511集成了丰富的部件,主要有外部总线接口EBI、USB2.0接口、以太网10/100 M MAC接口,用来仿真和烧写程序用的J-TAG接口、以及音视频输入输出接口等接口。其硬件结构见图1。

HI3511片内还集成了及协同视频硬件加速引擎。使得HI3511成为高性能通信媒体处理器,具有高集成、可编程、支持H.264和MJPEG-4等多协议,广泛应用于实时视频通信领域,其中H264MainProfile算法极大地提高了视频质量,并且能够提供灵活的场编码或帧编码,视频处理单元还支持双码流编码,处理器足以满足视频监控的相关要求。

流媒体技术是把连续得到媒体信息经过压缩后放到网络服务器上,这样客户就可使实现边下载边观看,而不需要将整个媒体文件全部下载完毕,所以流媒体技术非常适合现场事件,可以随机访问和快进或后退观看内容[6]。

流媒体实时传输方式分实时流式传输和顺寻流式传输两种。实时流式传输可以保证媒体信号与网络连接相匹配,使媒体信息可以被实时看到,而且实时传输允许对媒体进行更多的控制,要比HTTP服务器复杂。顺寻流式传输是顺序下载,但客户只能观看已下载的部分,顺序流式传输可以使用HTTP服务器,比实时流式传输要简单。

3 流媒体系统软件设计

因为系统的关键就是流媒体服务器,所以这里也主要介绍与服务器有关的RTSP模块、RTP模块和用户界面的线程实现,这里首先介绍一下Linux的网络通信过程[7]。

3.1 Linux的网络通信

Linux中网络通信是通过Socket套接字来实现,它是一种特殊的文件描述符,由于Linux的设备无关性,可以看做普通的文件描述符来操作,通过向描述符读写来实现网络通信。Socket使用的是C/S模式,常见的Socket有流式Socket、数据报Socket和原始Socket三种类型。套接字编程采用C/S模式,即由客户端向服务器进程发出请求,服务器进程执行被请求任务并将响应结果返回给客户端。套接字函数包括:Socket()、Bind()、Listen()、Accept()、Send()、Recv()、Close()等。基本流程见图3。

其基本过程是Socket()函数创建一个用于通信的套接字并分配一个绑定端口号,Listen()函数是套接字成为一个监听套接字,调用Accept()来启用套接字,此后程序就可以等待客户端的连接并处理其请求。客户端也建立一个Socket,返回描述符。配置端口号和IP地址,向服务器发送连接请求并接受服务器发回的确认连接信息。通信结束后,关闭双方的Socket。

3.2 流媒体协议介绍

3.2.1实时流协议(real-time streamming protocol,RTSP)

RTSP定义了一对多程序如何有效通过IP网络控制多媒体数据。RTSP是应用层协议,有很大的灵活性,可以用在多种操作系统上。RTSP在系统结构上位于RTP/RTCP之上,使用RTP/RTCP完成数据传输,主要用来控制具有实时特性的数据的传送,单本身并不传送数据。RTSP可以为流媒体提供诸如播放、暂停、快进等操作,负责定义具体的控制消息、操作方法和状态码等。RTSP的控制作用主要通过rtspsvr.c和rtspparse.c两个C语言文件来实现[7,8]。

(1)rtspsvr.c包含一些处理方法的函数。如下:

RTSP_SessLists_Init,用于建立一个RTSP会话队列,保存已经建立连接的客户端;

RTSP_SessLists_Destroy,清除队列,与客户端断开后才使用;

RTSP_SessLists_Add,将已建立连接的客户端加入到会话队列中;

RTSP_SessLists_Remove,删除一个已经存在的RTSP客户端;

RTSP_SVR_Create,RTSP服务器初始化,分配端口,建立RTSP会话队列;

RTSP_SVR_Destroy,释放RTSP资源,关闭RTSP监听,释放RTP资源;

RTSP_SVR_Start,线程函数,用于调用RTSP_SVR_Proc函数;

RTSP_SVR_Proc开始RTSP监听,接受客户端发送的RTSP请求;

RTSP_Handle_Event,用于处理RTSP的会话方法。

(2)tspparse.c是用来处理文本文件的,包括的函数如下:

RTSP_Status,描述RTSP的状态码;

RTSP_Methods,描述RTSP的方法,如PLAY,SETUP等;

RTSP_Get_Status_Str,用于获得RTSP的状态码;

RTSP_Parse_Url,,用于分析URL,获取文本中的端口信息等;

RTSP_Get_Cseq,用于获得RTSP文本交互中的CSEQ,以判断是否是相应的请求与回答。

3.3 视频应用程序

Linux内核为Linux处理图形界面提供的最基本的底层驱动接口。应用程序不需要了解底层硬件的具体情况,只需通过设备节点对设备进行操作,就可以完成图像的显示[9]。

SDL是一个跨平台、高性能的开源共享库,广泛应用于播放器、游戏的设计。SDL使用系统的底层API,但是在平台间统一了接口,使得基于SDL的程序具有良好的跨平台特性。SDL有以下优点:(1)直接使用内核提供的接口,运行效率高;(2)跨平台,移植性好;(3)面向应用,提供对图形,音频的高级应用;(4)提供了多种应用,如线程、消息循环、互斥锁、定时器等;(5)可配置性;(6)资源丰富。在线程设计上使用两个线程即用户界面线程和工作者线程。用户界面线程包括音视频同步播放和接受并响应用户的操作,然后将工作者线程解码出的音视频数据传递给使用者。线程的工作流程见图4。其客户端运行界面见图5。

4 结 论

基于嵌入式的流媒体摄像机是光学器材的一个重要应用,尤其采用最新CMOS传感器后,其灵敏度有了额较大提高、曝光时间缩短、单位像素尺寸的缩小,使得视频清晰度有了很大提高。在图像压缩方面采用MPEG-4算法,有效减轻了网络传输负担,有利于视频的实时性传输。嵌入式流媒体摄像机融合了现代通信技术和多媒体技术,尤其是嵌入式技术的应用,使得嵌入式流媒体摄像机获得了快速的发展。这种摄像机具有模块化设计,体积小,易于安装、使用和维护。支持即插即用的解决方案,只要接入网络,分配一个IP地址,就可以实现流媒体的传输,实现无人值守,就可以保证系统稳定可靠的运行。正因为如此,流媒体技术得到了越来越广泛的应用。

参考文献:

[1] 钟玉琢,向 哲,沈 洪.流媒体与视频服务器[M].北京:清华大学出版社,2003.

[2] 徐波涛,王 玲.基于ARM的流媒体传输方法的研究[D].南京:南京理工大学,2007.

[3] 师娟娟,彭 迪.基于ARM9的嵌入式Linux移植[J].武汉理工大学学报,2008,30(2):205-208.

[4] 马忠梅,马广云.ARM嵌入式处理器结构与应用基础[M].北京:北京航空航天大学出版社,2002.

[5] 冯国进.嵌入式Linux驱动程序设计从入门到精通[M].北京:清华大学出版社,2008.

[6] 钱 斌,徐海云.嵌入式Web服务器在CTM系统中的应用[J].微计算机信息,2006,17(5):99-101

[7] 张 威.Linux网络编程教程[M].北京:首都师范大学出版社,2002:143-144.

[8] 求是科技公司.8051系列单片机C程序设计完全手册[M].北京:人民邮电出版社,2006:209-210.

rtsp协议范文第7篇

关键字:NVR;RTSP/RTP;多线程编程;视频数据

中图分类号:TP399 文献标识码:A DOI:10.3969/j.issn.1003-6970.2013.08.028

本文著录格式:[1]穆永新.网络视频录像系统中视频采集的研究与实现[J].软件,2013,34(8): 92-94

0 引言

随着互联网的发展,数字视频监控系统[1]进入了快速发展的阶段。数字视频录像机(DVR Digital Video Recorder)逐步发展成为具有网络功能的网络视频录像机(NVR Network Video Recorder)。NVR是一个包含基本存储硬件和集中管理软件的网络录像子系统。其最大限度的继承了DVR的优势,实现了接入管理、录像存储及解码显示等一体化功能[2]。因此,针对这一发展趋势,网络录像系统中视频采集的实现有助于解决视频监控系统中的流媒体数据的传输,提高传输的质量,实现监控的网络化和高清化。

1 NVR的特点与流媒体协议

1.1网络视频刻录机的特点

网络视频刻录机的英文是Network Video Record,简称NVR[3]。由于它一开始就是为了在网络环境下使用而设计的,从而克服了DVR无法通过网络获取视频信息的先天缺陷,其主要特点:

① 网络化,全部使用有线和无线网络,提升监控点的灵活性;并且安装和维护得到了简化。

② 高清,使用高清的网络摄像机,普通的DVR满足不了。 ③ 扩容性:由于是基于网络的,监控点方便增加和减少。

④ 先进性:采用H.264对于占用的带宽和空间都有一定的提升[4]。

视频监控系统的工作原理如下[5]:

①前端摄像机将采集到的流媒体数据通过网线送入监控平台。

②用户可以通过监控平台对前端摄像机发送云台命令,控制摄像机的转动,以控制摄像机的监控范围。

③监控平台可以进行视频数据的处理、发送、存储以及对云台、报警设备等控制。

④监控平台可以对前端摄像机进行远程参数设置、对监控画面进行浏览、回放等。

1.2支持流媒体的协议

1.2.1实时流协议RTSP

RTSP(Real Time Streaming Protocol),实时流传输协议,是一个应用层协议,它在体系结构上位于TCP之上[6]。 RTSP是用来控制多媒体串流的协议,并允许同时多个串流需求控制,传输时所用的网络通讯协定并不在其定义的范围内,服务器端可以自行选择使用TCP或UDP来传送串流内容[7]。

在基本交互过程中,使用以下几种通信方法。

Option:客户端首先发送请求消息 ,告知服务器所支持交互方法;

Describe:客户端发送请求,服务器对其进行权限验证,并响应关于请求媒体的信息,也就是客户端在服务器上注册;

Setup:客户端发送建立请求 ,其中包含协议集及端口号;

Play:客户端选择播放实时视频时段;

Teardown:客户端发出关闭请求,服务器端响应,播放链接释放。

1.2.2实时传送与控制协议RTP/RTCP

实时传输协议RTP (Realtime Transport Protocol):是针对Internet上多媒体数据流的一个传输协议,RTP被定义为在一对一或一对多的传输情况下工作,其目的是提供时间信息和实现流同步。RTP的典型应用建立在UDP上,但也可以在TCP之上工作。但是RTP本身并不负责同步,rtp只是传输层协议,为了简化运输层处理,提高该层的效率。将部分运输层协议功能(比如流量控制)上移到应用层完成[8]。

实时传输控制协议RTCP(Realtime Transport Control Protocol):负责管理传输质量在当前应用进程之间交换控制信息。在RTP会话期间,各参与者周期性地传送RTCP包,包中含有已发送的数据包的数量、丢失的数据包的数量等统计资料,因此,服务器可以利用这些信息动态地改变传输速率,甚至改变有效载荷类型。RTP和RTCP配合使用,能以有效的反馈和最小的开销使传输效率最佳化,故特别适合传送网上的实时数据[9]。

1.2.3会话描述协议SDP

会话描述协议(SDP)为多媒体会话初始化提供了会话描述。

SDP 完全是一种会话描述格式,它不属于传输协议 ,SDP 的设计宗旨是通用性,它可以应用于大范围的网络环境和应用程序,但 SDP 不支持会话内容或媒体编码的协商。

SDP 连接好会话后,传送足够的信息给会话参与者。SDP 信息发送利用了会话通知协议(SAP)。这些信息是 UDP 数据包,其中包含 SAP 协议头和文本有效载荷(text payload)。这里文本有效载荷指的是 SDP 会话描述。

2 Live555开源项目的分析

Live555 是一个C++编写的解决流媒体传输的开源项目,它实现了对标准流媒体传输协议如RTP/RTCP、RTSP、SIP等的支持。Live555实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持,包括MPEG、H.264、DV、JPEG视频和多种音频编码。同时由于良好的设计,Live555非常容易扩展对其他格式的支持。

UsageEnvironment模块是对系统环境的抽象,包括抽象类UsageEnvironment0和TaskScheduler。UsageEnvironment0主要用于消息的输入输出和用户交互功能;TaskScheduler实现事件的异步处理、事件处理函数的注册等,它通过维护一个异步读取源实现对诸如通信消息到达等事件的处理,通过使用DelayQueue实现对其他注册函数的延时调度。该模块还包含一个HashTable类,在整个项目中都可以用到它。程序设计者通过自定义该抽象类UsageEnvironment和TaskScheduler类的子类,就可以在特定环境(如GUI环境)中运行,不需要进行过多的修改。BasicUsageEnvironment模块是UsageEnvironment的一个控制台应用的实现。它针对控制台的输入输出和信号响应进行具体实现。GroupSock模块用于实现数据包的发送和接收。GroupSock主要被设计用以支持多播,但它也完全支持单播通信。LiveMedia模块是Live555最重要的模块。该模块声明了一个抽象类Medium,其他所有类都派生自该类,下面简要介绍这些类:

① RTSPClient:该类实现RTSP请求的发送和响应的解析,同时根据解析的结果创建对应的RTP会话。

② MediaSession:用于表示一个RTP会话,一个MediaSession可能包含多个子会话(MediaSubSession),子会话可以是音频子会话、视频子会话等。

③ RTCPInstance:该类实现RTCP协议的通信。

④ Source和Sink:Source抽象了数据源,比如通过RTP读取数据。Sink是数据消费者的抽象,比如把接收到数据存储到文件,该文件就是一个Sink。数据的流动可能经过多个Source和Sink。MediaSink是各种类型的Sink的基类,MediaSource是各种类型Source的基类,各种类型的流媒体格式和编码的支持即是通过对这两个类的派生实现的。Source和Sink通过RTP子会话(MediaSubSession)联系在一起。

3 NVR中高效的实现方案

通过分析,可以明确流媒体的传输是在传输层协议(TCP,UDP)上解释RTP,RTCP,RTSP协议的,所有的客户连接请求都是以TCP的端口获得的,流媒体数据也都是打成RTP包,通过UDP端口发出去的,因此,对于TCP,UDP端口事件的调度以及如何把大量的流媒体数据从网络传递到磁盘空间上成为制约视频数据采集性能的主要因素。NVR面对一个IPC进行采集时,完成的过程如下:

① NVR发出RTSP连接请求,与IPC协商数据传输的信息[10]。

② 接收数据流包,解析RTP包,获得RTCP包。

③ 数据包发送完毕,关闭连接。

上述过程如果采用Live555中传统的方法去实现的话,Live555会将上诉过程中用到的socket handler、event handler和delay task添加到TaskScheduler类中,然后是用一个单一的线程不断的处理TaskScheduler中的事件,

BasicTaskScheduler从TaskScheduler派生,所以是一个任务调度对象,循环中每次走一步SingleStep(),这其中又分成四小步:

① 为所有需要操作的socket执行select。

② 找出第一个应执行的socket任务(handler)并执行。

③ 找到第一个应响应的事件,并执行。

④ 找到第一个应执行的延迟任务并执行。

可见,每一步中只执行三个任务队列中的一项。

如果连接不同路的IPC,仍然是将其他路的事件添加到这个TaskScheduler中,随着添加路数的增加,势必会造成流媒体采集的性能低下,出图就会很缓慢,如果其中有一路数据出现了问题造成阻塞的话,就会造成所有其他路的数据一并阻塞。

为了改善上述实现的不足,需重新设计NVR中采集端的程序结构。根据采集端在流媒体传输中所要完成的功能,可以看出,采集端往往需要连接很多不同路数的IPC,并且每一路的传输有很少部分用于RTSP的连接,大部分时间都用于接收RTP数据流包,可以针对每一路数据流的传输开启一个单独的线程,每一个线程都有TaskScheduler的调度,这种采用多线程的方式去同时连接不同的IPC,不仅能够互不干扰,而且能够提高资源利用率,使得多路高清视频能够顺畅播放和存储。这样就开启了多个线程,其中的每一个线程都会等待响应IPC的应答。其程序流程图如下:

综上所述,选择多线程的实现方式,节省了嵌入式系统的宝贵资源,这是利用了线程开销小的优点。虽然是多线程的系统,但是从某一个时间上来看,系统可能只有一个线程正在运行,而其它线程都处于空闲状态。其次,系统的结构清晰,线索清楚,便于功能扩展和代码维护。

4结束语

本文根据网络视频刻录系统中流媒体传输的需要,通过对Live555源码的分析与研究,利用流媒体协议对视频数据实现了封装和传输,并且结合多线程的编程技术,最终实现了多路流媒体的实时传输,不仅节省了系统软硬件资源,而且还提高了用户的体验。

参考文献

[1] 伍鹏.嵌入式网络化视频监控系统[D]:[硕士学位论文].杭州:浙江大学,2004.

[2] 吴建国.视频监控系统的发展趋势[J].云南警官学院学报,2011,(3):67-70.

[3] 陆克程.数字视频监控系统的设计与实现[D]:[硕士学位论文].合肥:中国科学技术大学,2003.

[4] 黄振华.基于H.264的嵌入式实时视频采集与传输系统的设计与实现[D]:[硕士学位论文].上海:华东理工大学,2008.

[5] 杨亚雄.嵌入式Linux网络视频监控系统研究与实现[D]:[硕士学位论文].武汉:武汉理工大学,2008.

[6] 章民融,徐亚锋.基于RTSP的流媒体视频服务器的设计与实现[J].计算机应用与软件,2006,23(7):93-95.

[7] HTTP Live Streaming Overview [S].AppleInc.2010.03.

[8] 张海军,吴克捷,张建军等.RTP 传输控制的研究及实时视频监视系统的设计与实现[J].信息化纵横,2009,(5):55~56.

[9] ZHANG Xiao-lei,TAN Xiao-lin,AN Sheng-biao,etc.Streaming media congestion control algorithm based on RTCP[J]. Journal of Hebei University of Science and Technology,Vol.29,No.4 Dec.2008:305~307

[10] 沈春山,吴仲城,罗家融.一种SDP扩展的传感数据描述协议探索[J].计算机科学,2010,37(2):45-48.

[11] 茅炎菲,忠东.基于 RTSP 协议网络监控系统的研究与实现[J].计算机工程与设计,2011,32(7):2523-2530.

rtsp协议范文第8篇

(武汉大学 430072)

[摘 要]:本文研究了流媒体技术的实现原理,并提出了一种流媒体在校园网中的应用方案,最后介绍了流媒体技术的最新现状及前景。

[关键词]:流媒体 RTSP WM REAL

流媒体指在Internet/Intranet中使用流式传输技术的连续时基媒体,如:音频、视频或多媒体文件。流式媒体在播放前并不下载整个文件,只将开始部分内容存入内存,流式媒体的数据流随时传送随时播放,只是在开始时有一些延迟。流媒体实现的关键技术就是流式传输。

流式传输定义很广泛,现在主要指通过网络传送媒体(如视频、音频)的技术总称。其特定含义为通过Internet 将影视节目传送到PC机。实现流式传输有两种方法:实时流式传输(Realtime streaming)和顺序流式传输(progressive streaming)。一般说来,如视频为实时广播,或使用流式传输媒体服务器,或应用如RTSP的实时协议,即为实时流式传输。如使用HTTP服务器,文件即通过顺序流发送。采用那种传输,!方法依赖你的需求。当然,流式文件也支持在播放前完全下载到硬盘。

1.流媒体技术原理

流式传输的实现需要缓存。因为Internet以包传输为基础进行断续的异步传输,对一个实时A/V源或存储的A/V文件,在传输中它们要被分解为许多包,由于网络是动态变化的,各个包选择的路由可能不尽相同,故到达客户端的时间延迟也就不等,甚至先发的数据包还有可能后到。为此,使用缓存系统来弥补延迟和抖动的影响,并保证数据包的顺序正确,从而使媒体数据能连续输出,而不会因为网络暂时拥塞使播放出现停顿。通常高速缓存所需容量并不大,因为高速缓存使用环形链表结构来存储数据:通过丢弃已经播放的内容,流可以重新利用空出的高速缓存空间来缓存后续尚未播放的内容。

流式传输的实现需要合适的传输协议。由于TCP需要较多的开销,故不太适合传输实时数据。在流式传输的实现方案中,一般采用HTTP/TCP来传输控制信息,而用RTP/UDP来传输实时声音数据。

流式传输的过程一般是这样的:用户选择某一流媒体服务后,Web浏览器与Web服务器之间使用HTTP/TCP交换控制信息,以便把需要传输的实时数据从原始信息中检索出来;然后客户机上的Web浏览器启动A/VHelper程序,使用HTTP从Web服务器检索相关参数对Helper程序初始化。这些参数可能包括目录信息、A/V数据的编码类型或与A/V检索相关的服务器地址。

A/VHelper程序及A/V服务器运行实时流控制协议(RTSP),以交换A/V传输所需的控制信息。与CD播放机或VCRs所提供的功能相似,RTSP提供了操纵播放、快进、快倒、暂停及录制等命令的方法。A/V服务器使用RTP/UDP协议将A/V数据传输给A/V客户程序(一般可认为客户程序等同于Helper程序),一旦A/V数据抵达客户端,A/V客户程序即可播放输出。

rtsp协议范文第9篇

关键词:FPGA;网络摄像头;RTSP;Sobel;异构

中图分类号:TN911 文献标识码:A 文章编号:1009-3044(2016)34-0219-03

Abstract:In order to achieve high-efficiency, high-precision image processing for capturing the video stream of IP camera, a data-driven heterogeneous system with Sobel edge detection is designed to support RTSP protocol.The system can get 1080P, H.264 encoded video streams from sixteen IP cameras at the same time and also can process real-time Sobel edge detection of video streams base on arm from Hisilicon and ZC702 FPGA form Xilinx. Experimental results show that the system has low delay of capturing video streams and can real-time edge detection for a large number of high-definition images at the same time.

Key words:FPGA; IPC; RTSP; Sobel; heterogeneous

1 概述

实时图像处理是实现实时物体检测中的重要一环,其广泛应用于诸多领域,比如先进驾驶辅助系统(Advanced Driver Assistance System, ADAS)、工I机器人、智能安防等。图像处理技术的主要关键点是超高的实时性和结果的准确性。而边缘提取是图像处理中最基础的一步,由Irwin Sobel提出的Sobel算法又是众多边缘检测算法中较简单高效的一种,对噪声具有平滑作用[1],较为适合在嵌入式系统中应用。

异构处理系统是随着计算机技术的飞速发展出现的一种能够突破单一平台发展瓶颈,有效解决能耗高、扩展性低等问题的一种技术。近年来,基于CPU和GPU的异构图像处理系统应用正蓬勃发展。本文实现的Sobel边缘检测的异构系统是一种数据驱动(Data-Drivern)型图像处理应用系统。主要使用现场可编程门阵列(Field Programmable Gate Array, FPGA)对Sobel算法进行硬件实现,并对海思解码芯片hi3536为载体的开发板进行编程,使其能获取到网络摄像头(Internet Protocol Camra,IPC)的实时视频流,为硬件加速器提供数据。该系统的最高性能可达同时对16路1080P、60帧的视频进行边缘提取。

2 Sobel算法

在图像中边缘的像素值会发生显著的变化,表示这一变化的方法就是导数,所以一般我们用来寻找图像边缘的方法是对图像进行求导,即使用一个卷积核对图像进行平面卷积处理,这样可实现图像求导的近似计算。

Sobel边缘检测算法在实现过程中,通过把检测水平边缘和竖直边缘的2个Sobel算子作为卷积核分别与图像中的每个像素点做卷积运算,分别得到该图像在水平方向上的梯度Gx和竖直方向上的梯度Gy。Sobel算子如图1所示。

对于图像上的每一个像素点,结合以上两个卷积处理后的结果可求出该点上的近似梯度:

我们也可以对其做出一个近似的转换:G = |Gx| + |Gy|。

梯度值的大变化预示着图像中内容的显著变化。可设定一个合适的阈值T,如果G≥T 就可以认为该点为边缘点。判别出图像中所有边缘点后,我们可以把输入的灰度图像转换为只包含边缘信息的二值化图像,即图上一点A(x,y),它的梯度值G(x,y)若大于等于阈值T,则将该点的值置为1;反之,则置为0。

2 图像边缘提取异构系统的实现

本异构系统由深圳海思公司的hi3536芯片和Xilinx公司的ZC702型号的FPGA组合搭建而成。hi3536芯片主要负责获取IPC的视频流数据并实时解码,FPGA主要负责对输入的图像进行Sobel算法的加速运算。通过使用本文编写的能够兼容大部分主流IPC的RTSP协议接口,再利用海思hi3536芯片的解码能力,完成最高可同时接收并解码16路H264或H265编码、分辨率为1080P60帧的实时视频流,再把解码后得到的YUV格式图像通过AXI-Stream总线直接传递到FPGA上的Sobel加速处理模块,实现从前端IPC进行数据采集后实时传递给硬件加速模块的完整链路。这样,使得整套系统更方便地接入到监控系统中,大幅提升系统的实用性。该模块整体的架构如图2所示。

2.1 基于ARM的前端数据采集模块

为了更加体现本异构系统的实用性,FPGA上的Sobel加速处理模块的图像输入并不是由上位机选送事先采集好一张或多张图片[2],而是采集于实际环境中的IPC。RTSP(Real Time Streaming Protocol,实时流媒体协议)[3] 是目前监控行业内广泛采用的流媒体协议,所以为了能够把我们的异构系统对接进绝大部分已存在的IPC监控系统,我们选用RTSP协议作为与IPC的对接接口。但由于现存的一些包含RTSP代码的开源项目存在图像延迟较高、图像质量不稳定以及代码可控性较差等问题,所以我们基于文献[3]和Ffmpeg[4]中的RTSP部分,编写了一个RTSP的客户端程序,并主要通过调整视频缓存块(Cache Block)和协议解析速度, 针对1080P视频流的传输延迟进行优化。使用本文编写的RTSP客户端代码,在不损失视频质量和视频流畅度的前提下,相比Ffmpeg等,大大降低了对RTSP协议解析和帧缓存带来的图像延迟,又提高了对视频流获取的可控性。在千兆局域网内,测试同时连接16路1080P、30fps(Frames Per Second,每秒传输帧数)的IPC,所有画面延迟都基本稳定在160ms到175ms之间,配合海思hi3536的强大解码性能,从IPC采集图像数据到传到Sobel加速处理模块,之间的延迟可稳定在200ms以内。

如图3是Ffmpeg中的RTSP客户端、本文中使用的RTSP客户端分别运行在电脑端和ARM端时,三者在画面延迟方面的对比结果。其中,Ffmpeg在使用时,调用了参数“-fflags nobuffer”,不做流缓冲。延迟测试方式为将一台运行着计时秒表的电脑主机A作为信号源接入到一台支持RTSP协议的H.264编码设备上,利用该编码设备将主机A的画面进行网络转播,再由接受测试的三种RTSP客户终端同时接收下视频流数据,各自解码后分别显示在三块显示器上。同时拍摄下三块显示器上的画面以及主机A直接输出的画面,再记录照片中四块显示器上的秒表读数,进行差值分析。由于海思hi3536芯片对H264、H265编码的视频流的高性能解码能力,所以在实际使用中不需要做任何的视频数据缓存,相比于在电脑端运行的本文RTSP客户端,进一步加快了视频流的实时性。

通过网络获取到的视频流是H264或H265编码的原始数据,如果需要对图像进行识别,至少需要把原始数据解码为YUV格式的图像数据。因为海思半导体公司在全球视频监控领域的核心地位[5],这里我们选用基于该公司型号为hi3536的解码专用芯片的开发板,板上具有全双工千兆网口,且对于1080P的图像分辨率最高的解a性能是同时16路、60帧的H.264/H.265实时解码。通过研究海思芯片的SDK(Software Development Kit,软件开发工具包),结合经过交叉编译后的本文中的RTSP客户端函数库,编写了运行在ARM上的可接收IPC视频流的多线程解码程序,同时接收视频流数为可调参数,最大值不能超过16。解码后得到的就是YUV420格式的视频流。由于受限于海思解码芯片的能力,对于本程序,只测试了同时接收16路1080P视频流情况下的图像稳定性和画面延迟。测试结果证明本程序完全可以支持这种使用情况。而由于之后的图像处理需要的是YUV格式的灰度图像数据,本程序的最后部分,是对最多16路解码后的图像数据提取YUV中的Y分量,即亮度分量,将其通过AXI-Stream总线异步发送至FPGA上预先设计好并通过验证的Soble加速处理内核上。该前端数据采集模块整体的架构如图4所示。

2.2 基于FPGA的Sobel硬件加速处理模块

本异构系统在FPGA上实现Sobel边缘检测功能,并且输入图像的大小以及Sobel边缘提取的阈值T都是可配置的。该模块有下列几个主要部分:与ARM数据交互模块,数据接收模块,梯度计算模块和最后的阈值比较输出模块。如图5是Sobel加速处理模块的整体架构框图。各个模块均使用Verilog语言实现[6],并使用Synopsis公司的VCS工具进行功能仿真。该加速模块实现了数据驱动的工作方式,所谓数据驱动,指的是当系统处于工作状态时,只要有数据输入系统,Sobel加速处理模块就能够对输入的数据进行实时处理后输出结果,数据输入停止时,处理工作也会暂停。下面逐个介绍不同的功能模块

2.1.1 FIFO模块

与ARM的数据交互是通过AXI-Stream总线实现的[7],AXI-Stream总线是AXI4总线的简化版,而AXI4总线是由ARM公司研发推出的AMBA(Advanced Microcontroller Bus Architecture)片上总线。AXI-Stream总线由于整个通道只有数据传输通道,而不需要传输地址的通道,所以相对AXI总线来说要简便很多。我们使用AXI-Stream总线向ARM和DDR申请数据,这样就可以大大提高数据的传输效率。并且为了防止数据出现遗漏或者丢失,我们采用FIFO(First-In First-Out,先入先出)存储器去同步数据的信号。

Sobel加速处理模块被设计为数据驱动的工作形式,当系统被配置为工作模式时,只要AXI-Stream总线上有数据传输,加速器模块就会进行计算,这样减少了由上位机的控制和交互的时间成本。

2.1.2 数据排列模块

数据排列(Ram Array)模块用于接收数据并将其分别存放在不同的缓存中,方便后续的梯度计算模块进行数据的读取和并行计算。输入为AXI-Stream总线串行输入的数据流,输出的数据则被调整成便于梯度计算模块进行并行卷积计算的格式。同时,数据排列模块是一个可配置处理图像大小的模块,图像的长宽都可由上位机进行配置,这样使得整个系统处理的图像大小都是可控的。该模块所支持的最大图像分辨率为2048×2048。

2.1.3 梯度计算模块

梯度计算模块是一个进行卷积计算的模块。基于文献[8]中提出的方案,本文使用了并行计算的方式,并采用数据移位(shift)的方法进行乘法计算,左移一位即乘以2,这样可以大量减少硬件资源的使用,大幅提高Sobel边缘检测中水平方向和Q直方向的梯度向量的计算速度。该模块逻辑图如图5(b)所示。所以在这种计算结构下,使用3个时钟周期就可以计算出一个3×3卷积框中最后的梯度值,并将梯度值传输给阈值比较模块进行最后结果的运算。

2.1.4 阈值比较输出模块

从梯度计算模块输出的计算完的梯度值,会在阈值比较模块中与设定好的阈值T进行对比。并且在这个模块中存在一个状态机用于控制输出的值,如果梯度值大于等于阈值T,则输出1;反之输出0。由于卷积的原因,图像的长宽会分别下降1个像素点,所以为了使得上位机收到的还是规整的图片,我们还在这个模块中对这缺失的一行一列进行了补0操作,以保证最后输出图像的尺寸依旧与原图的尺寸相同。

如图6是对本文中的Sobel加速处理模块使用VCS工具进行行为级仿真得出的波形图。

3 结论

图像边缘提取是图像处理、物体识别中很重要的一环,本文以Sobel边缘提取为例,通过利用本文中编写的RTSP客户端协议和基于FPGA实现的Sobel硬件加速器,实现了一个通过网线就可接入到监控系统等各个拥有IPC的网络中,并对高画质视频流进行高实时性高精度的边缘提取的数据驱动型异构系统。本设计采用模块化的方式,且对接IPC的路数、图像分辨率等参数均为可调参数,并专门优化了硬件资源占用率。在实际测试中也达到了设计初时的目标,有助于进一步开发可接入监控系统的人脸识别、车牌识别等物体识别异构系统。

参考文献:

[1] Tsai M Y, Yost M G, Wu C F, et al. Line profile reconstruction: validation and comparison of reconstruction methods[J]. Atmospheric Environment, 2001, 35(28):4791-4799.

[2] 张丽红, 凌朝东. 基于FPGA的Sobel边缘检测应用[J]. 电子技术应用, 2011, 37(8):26-29.

[3] Schulzrinne H, Rao A, Lanphier R. Real Time Streaming Protocol (RTSP)[J]. Rfc, 1998.

[4] Surhone L M, Tennoe M T, Henssonow S F, et al. Ffmpeg[Z]. 2010.

[5] 康毅. 海思IVE技术开启智能视频监控新纪元[J]. 中国公共安全:学术版, 2014(22):204-204.

[6] 夏宇闻. Verilog数字系统设计教程[J]. 2003(6):51-51.

[7] He L, Zhao H, Shao L. FPGA Video System Based on AXI4-Stream Bus[J]. Microcontrollers & Embedded Systems, 2015.

rtsp协议范文第10篇

【关键词】流媒体 启动延时 RTP

自互联网产生以来,受网络带宽的限制,互联网上的信息都以文字、图片等静态数据为主,而音频、视频数据则难以在网上。随着ADSL、视迅宽带、FDDI网的出现,网络带宽得到很大的改善,可以达到100M以上的传输速率,但仍无法满足高质量的多媒体信息传输的需要,这就要从数据的传输方式上着手来解决问题。由此,流媒体技

术应运而生。

一、流媒体技术概述

流媒体(Streaming)技术是指在发送端和接收端之间以独立于网络负载的以给定速率传输音频、视频信息的一种传输技术。流媒体具有隐含的时间维、传输的实时性和等时性、高吞吐量等特点。目前因特网由于存在带宽不足、服务质量控制机制较弱等局限性,难以满足流媒体的实时性要求,为此因特网工程任务组(IETF)制定了一系列支持流媒体实时传输和服务质量控制的协议,如 RTP、RSVP、RTCP等。其中,RTP是所有这些协议的基础。在网络上传输音频或视频等多媒体信息,目前主要有下载回放和流式传输两种方案。下载回放方式时间长、占的内存多,要求用户等到整个文件全部下载完毕才能回放。流式传输中声音、影像等通过网络向用户计算机进行连续、实时传送,用户不必等到整个文件全部下载完毕,而只需经过几秒或十几秒的启动延时即可进行观看。

流媒体技术是一种使用流式传输连续的时基媒体的技术。流式传输方式是将视频、音频等其他媒体压缩为一个个压缩包,由视频服务器向用户计算机连续、实时传送,只需要在用户端缓存足够可播放的视频容量就可以开始播放。

二、流媒体系统的组成

1、编码工具。即用于创建、捕捉和编辑多媒体数据,形成流媒体格式。利用媒体采集设备进行流媒体的制作。它包括了一系列的工具,从独立的视频、声音、图片、文字组合到制作丰富的流媒体。这些工具产生的流媒体文件可以存储为固定的格式,供服务器使用。

2、流媒体数据。即媒体信息的载体。常用流媒体数据格式有.ASF、.RM等。

3、服务器。即存放媒体数据。由于要存储大容量的影视资料,因此该系统必须配备大容量的磁盘阵列,具有高性能的数据读写能力,可以高速传输外界请求数据并具有高度的可扩展性、兼容性,支持标准的接口。这种系统配置能满足上千小时的视频数据存储,实现片源的海量存储。

4、网络。即适合多媒体传输协议甚至是实时传输协议的网络。流媒体技术是随着互联网络技术的发展而发展起来,它在现有互联网络的基础上增加了多媒体服务平台。

5、播放器。即供用户欣赏网上媒体的软件。流式媒体系纺支持实时音频和视频直播和点播,可以嵌入到流行的浏览器中,可播放多种流行的媒体格式,支持流媒体中的多种媒体形式,如文本、图片、Web页面、音频和视频等集成表现形式。在带宽充裕时,流式媒体播放器可以自动侦测视频服务器的连接状态,选用更适合的视频以获得更好的效果。目前应用最多的播放器有美国Real Networks公司的Real Player、美国微软公司的Media Player、美国苹果公司的Quicktime三种产品。

目前,Real System 被认为是在窄带网上最优秀的流媒体传输系统,其允许的带宽限制从28.8kbps的拨号上网到10M 的局域网,允许点播的人数从 100 流到 1000 流甚至无限流。Real System 系统由三部分组成。一是媒体内容制作工具Real Producer。主要是用于压缩制作多媒体内容文件,实时压制现场信号并传送给Real Server进行现场直播;也可以把其他音频、视频和动画等多媒体文件格式转换成Real Server支持并进行流媒体广播的 Real格式。二是服务器引擎 Real Server。它是目前国际上最强力的因特网和Intranet上的流传播服务引擎,利用该服务引擎用户可以在客户端无须等待数据全部下载完毕即可实时收看直播节目。三是客户端播放软件 Real Player。用来向服务器发出请求,接收并回放从 Real Server传送的媒体节目。

三、流式传输协议

流媒体协议是流媒体技术的一个重要组成部分,也是基础组成部分。因特网工程任务组的主要工作是设计各种协议来规范与发展世界标准化组织,现已设计出几种支持流媒体的传输协议。

1、RSVP(资源预留协议)。该协议促使流数据的接收者主动请求数据流路径上的路由器,并为该数据流保留一定的资源(即带宽),从而保证一定的服务质量。RSVP是一个在IP上承载的信令协议,它允许路由器网络任何一端上终端系统或主机在彼此之间建立保留带宽路径,为网络上的数据传输预定和保证服务质量。

(1)RSVP协议中涉及到发送者和接收者的概念,这两个概念是在逻辑上进行区分的。发送者指发送路径消息的进程,而接收者是指发送预留消息的进程,同一个进程可以同时发送这两种消息,因此既可以是发送者也可以是接收者。

(2)资源预留的分类。专用预留:它所要求的预留资源只用于一个发送者,即在同一会话中的不同发送者分别占用不同的预留资源。共享预留:它所要求的预留资源用于一个或多个发送者,即在同一会话中的多个发送者共享预留资源。

(3)RSVP提供两种发送者选择方式。通配符方式:默认所有发送者,并通过预留消息中所携带的源端地址列表来限制通配符滤波器。显式指定方式:滤波器明确指定一个或多个发送者来进行预留。

2、RTP(实时传输协议)。用于Internet上针对多媒体数据流的传输。RTP协议为数据提供了具有实时特征的端对端传送服务,如在组播或单播网络服务下的交互式视频音频或模拟数据。应用程序通常在UDP上运行RTP以便使用其多路结点和校验服务。RTP可以与其他适合的底层网络或传输协议一起使用。如果底层网络提供组播方式,那么RTP可以使用该组播表传输数据到多个目的地。

3、RTCP(实时传输控制协议)。实现通过客户端对服务器上的音视频流做播放、录制等操作请求。该协议通过RTSP协议实现了在客户端应用程序中对流式多媒体内容的播放、暂停、快进、录制和定位等操作。RTP和RTCP一起提供流量控制和拥塞控制服务。

4、RTSP(实时流协议)。建立并控制一个或几个时间同步的连续流媒体,如音频和视频。尽管连续媒体流与控制流交叉是可能的,但RTSP 本身并不发送连续流,换言之,RTSP充当多媒体服务器的网络远程控制。RTSP 提供了一个可扩展框架,实现实时数据(如音频与视频)的受控、按需传送。数据源包括实况数据与存储的剪辑。RTSP 用于控制多个数据发送会话,提供了选择发送通道(如UDP、组播UDP与TCP等)的方式,并提供了选择基于RTP的发送机制的方法。

总之,随着流媒体技术的不断发展以及网民对流媒体的需求的增加,流媒体技术将会日臻成熟并稳步发展。

(注:本文为项目“多媒体CAI应用在高等职业教育中的教学结构模型研究”的研究成果。)

【参考文献】

[1] 肖金秀、蔡均涛:多媒体技术及应用[M].冶金工业出版社,2006.

[2] 郑丽娜:网络流媒体技术及其应用[J].山东通信技术,2005(2).

[3] 刘肖笛:网络流媒体技术大全[DB/OL].tech.省略/,2006-12.

上一篇:欠款协议范文 下一篇:京都协议书范文

友情链接