嵌入式LINUX应用编程视频服务器_第1页
嵌入式LINUX应用编程视频服务器_第2页
嵌入式LINUX应用编程视频服务器_第3页
嵌入式LINUX应用编程视频服务器_第4页
嵌入式LINUX应用编程视频服务器_第5页
已阅读5页,还剩56页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式LINUX应用编程–

视频服务器篇2009年11月10日2嵌入式LINUX编程-视频服务器V4L2编程RTSP协议RTP协议视频服务器案例3V4l2编程-关于视频的基本概念

1.视频分辨率常用的数字图像分辨率格式有:QCIF(176×144)、CIF(352×288)、1/2D1(352×576)、2/3D1(480×576)、D1(720×576)、QQVGA(160×120)、QVGA(320×240)、VGA(640×480)2.一些压缩标准MJPEG·MotionJPEG2000·MPEG-1·MPEG-2·MPEG-4ASP·MPEG-4/AVC·H.120·H.261·H.262·H.263·H.264·AMV·AVS·Bink·Dirac·Indeo·Pixlet·RealVideo·RTVideo·SheerVideo·Smacker·Snow·Theora·VC-1·VP6·VP7·VP8·WMV3.一些音频压缩标准MPEG-1LayerIII(MP3)·MPEG-1LayerII·MPEG-1LayerI·AAC·HE-AACG.711·G.718·G.719·G.722·G.722.1·G.722.2·G.723·G.723.1·G.726·G.728·G.729·G.729.1·G.729a·AC3·AMR·AppleLossless·ATRAC·FLAC·iLBC·Monkey'sAudio·μ-law·Musepack·Nellymoser·OptimFROG·RealAudio·RTAudio·SHN·Siren·Speex·Vorbis·WavPack·WMA·TAK4.一些视频编码格式,文件格式

3GP·ASF·AVI·Bink·DMF·DPX·FLV·Matroska·MP4·MXF·NUT·Ogg·OggMedia·QuickTime·RealMedia·Smacker·RIFF·VOB4V4L2编程–1.打开设备打开视频设备在V4L2中,视频设备被看做一个文件。使用open函数打开这个设备://用非阻塞模式打开摄像头设备intcameraFd;cameraFd=open("/dev/video0",O_RDWR|O_NONBLOCK,0);//如果用阻塞模式打开摄像头设备,上述代码变为:cameraFd=open("/dev/video0",O_RDWR,0);应用程序能够使用阻塞模式或非阻塞模式打开视频设备,如果使用非阻塞模式调用视频设备,即使尚未捕获到信息,驱动依旧会把缓存(DQBUFF)里的东西返回给应用程序。5V4L2编程–2.设定属性及采集方式设定属性及采集方式打开视频设备后,可以设置该视频设备的属性,例如裁剪、缩放等。这一步是可选的。在Linux编程中,一般使用ioctl函数来对设备的I/O通道进行管理:

intioctl(intfd,unsignedlongintrequest,.../*args*/);在进行V4L2开发中,常用的命令如下:VIDIOC_REQBUFS:分配内存VIDIOC_QUERYBUF:把VIDIOC_REQBUFS中分配的数据缓存转换成物理地址VIDIOC_QUERYCAP:查询驱动功能VIDIOC_ENUM_FMT:获取当前驱动支持的视频格式VIDIOC_S_FMT:设置当前驱动的频捕获格式VIDIOC_G_FMT:读取当前驱动的频捕获格式VIDIOC_TRY_FMT:验证当前驱动的显示格式VIDIOC_CROPCAP:查询驱动的修剪能力VIDIOC_S_CROP:设置视频信号的边框VIDIOC_G_CROP:读取视频信号的边框VIDIOC_QBUF:把内存加入缓存队列VIDIOC_DQBUF:从缓存队列读取数据VIDIOC_STREAMON:开始视频显示函数VIDIOC_STREAMOFF:结束视频显示函数VIDIOC_QUERYSTD:检查当前视频设备支持的标准,例如PAL或NTSC。6V4L2编程–

设定属性及采集方式检查当前视频设备支持的标准在亚洲,一般使用PAL(720X576)制式的摄像头,而欧洲一般使用NTSC(720X480),使用VIDIOC_QUERYSTD来检测:v4l2_std_idstd;do{ret=ioctl(fd,VIDIOC_QUERYSTD,&std);}while(ret==-1&&errno==EAGAIN);switch(std){caseV4L2_STD_NTSC:caseV4L2_STD_PAL:}设置视频捕获格式当检测完视频设备支持的标准后,还需要设定视频捕获格式,结构如下:structv4l2_formatfmt;memset(&fmt,0,sizeof(fmt));fmt.type=V4L2_BUF_TYPE_VIDEO_CAPTURE;fmt.fmt.pix.width=720;fmt.fmt.pix.height=576;fmt.fmt.pix.pixelformat=V4L2_PIX_FMT_YUYV;fmt.fmt.pix.field=V4L2_FIELD_INTERLACED;if(ioctl(fd,VIDIOC_S_FMT,&fmt)==-1)return-1;7V4L2编程–

设定属性及采集方式v4l2_format结构如下:structv4l2_format{enumv4l2_buf_typetype;//数据流类型V4L2_BUF_TYPE_VIDEO_CAPTUREunion{structv4l2_pix_formatpix;structv4l2_windowwin;structv4l2_vbi_formatvbi;__u8raw_data[200];}fmt;};structv4l2_pix_format{__u32width;//宽,必须是16的倍数

__u32height;//高,必须是16的倍数

__u32pixelformat;//视频数据存储类型,例如是YUV4:2:2还是RGBenumv4l2_fieldfield;__u32bytesperline;__u32sizeimage;enumv4l2_colorspacecolorspace;__u32priv;};8V4L2编程–

视频采集方式内核空间和用户空间操作系统一般把系统使用的内存划分成用户空间和内核空间,分别由应用程序管理和操作系统管理。应用程序可以直接访问内存的地址,而内核空间存放的是供内核访问的代码和数据,用户不能直接访问。v4l2捕获的数据,最初是存放在内核空间的,这意味着用户不能直接访问该段内存,必须通过某些手段来转换地址。一共有三种视频采集方式:使用read、write方式:在用户空间和内核空间不断拷贝数据,占用了大量用户内存空间,效率不高。内存映射方式:把设备里的内存映射到应用程序中的内存控件,直接处理设备内存,这是一种有效的方式。用户指针模式:与前种类似,区别在于内存片段由应用程序自己分配。这点需要在v4l2_requestbuffers里将memory字段设置成V4L2_MEMORY_USERPTR。9V4L2编程–

内存映射方式采集视频

分配设备缓冲:structv4l2_requestbuffersreqbuf;memset(&reqbuf,0,sizeof(reqbuf));reqbuf.type=V4L2_BUF_TYPE_VIDEO_CAPTURE;reqbuf.memory=V4L2_MEMORY_MMAP;reqbuf.count=20;if(-1==ioctl(fd,VIDIOC_REQBUFS,&reqbuf)){if(errno==EINVAL)printf("Videocapturingormmap-streamingisnotsupported\n");elseperror("VIDIOC_REQBUFS");exit(EXIT_FAILURE);

exit(-1);

}V4L2编程–内存映射方式采集视频v4l2_requestbuffers结构如下:structv4l2_requestbuffers{__u32count;//缓存数量,也就是说在缓存队列里保持多少张照片

enumv4l2_buf_typetype;//数据流类型enumv4l2_memorymemory;//V4L2_MEMORY_MMAP或

//V4L2_MEMORY_USERPTR__u32reserved[2];};1011V4L2编程–内存映射方式采集视频获取并记录缓存的物理空间使用VIDIOC_REQBUFS,我们获取了req.count个缓存,下一步通过调用VIDIOC_QUERYBUF命令来获取这些缓存的地址,然后使用mmap函数转换成应用程序中的绝对地址,最后把这段缓存放入缓存队列:typedefstructVideoBuffer{void*start;size_tlength;}VideoBuffer;12V4L2编程–内存映射方式采集视频VideoBuffer*buffers=calloc(req.count,sizeof(*buffers));structv4l2_bufferbuf;for(numBufs=0;numBufs<req.count;numBufs++){memset(&buf,0,sizeof(buf));buf.type=V4L2_BUF_TYPE_VIDEO_CAPTURE;buf.memory=V4L2_MEMORY_MMAP;buf.index=numBufs;

//读取缓存地址

if(ioctl(fd,VIDIOC_QUERYBUF,&buf)==-1){return-1;}buffers[numBufs].length=buf.length;//转换成相对地址

buffers[numBufs].start=mmap(NULL,buf.length,PROT_READ|PROT_WRITE,MAP_SHARED,fd,buf.m.offset);if(buffers[numBufs].start==MAP_FAILED){return-1;}//放入缓存队列

if(ioctl(fd,VIDIOC_QBUF,&buf)==-1){return-1;}}//放入缓存队列enumv4l2_buf_typetype=V4L2_BUF_TYPE_VIDEO_CAPTURE;if(-1==ioctl(fd,VIDIOC_STREAMON,&type))exit("VIDIOC_STREAMON");13V4L2编程–内存映射方式采集视频采集一帧视频数据数据缓存采用FIFO(先进先出)的方式,当应用程序调用缓存数据时,缓存队列将最先采集到的视频数据缓存送出,并重新采集一张视频数据。这个过程需要用到两个ioctl命令,VIDIOC_DQBUF和VIDIOC_QBUF:structv4l2_bufferbuf;memset(&buf,0,sizeof(buf));buf.type=V4L2_BUF_TYPE_VIDEO_CAPTURE;buf.memory=V4L2_MEMORY_MMAP;buf.index=0;//读取缓存,若在缓冲队列中无视频数据,则此操作会阻塞if(ioctl(cameraFd,VIDIOC_DQBUF,&buf)==-1){return-1;}//TODO:已读取一帧数据,在此加入代码进行处理//process_image(buf);//重新放入缓存队列if(ioctl(cameraFd,VIDIOC_QBUF,&buf)==-1){return-1;}14V4L2编程–

关闭视频设备若使用内存映射或用户自定义内存映射的方式捕捉视频,则在结束一个视频流前,应先使用VIDIOC_STREAMOFF停止视频流显示:enumv4l2_buf_type=V4L2_BUF_TYPE_VIDEO_CAPTURE;if(-1==xioctl(fd,VIDIOC_STREAMOFF,&type)){perror("VIDIOC_STREAMOFF");}还需要使用munmap方法取消映射for(i=0;i<n_buffers;++i){if(-1==munmap(buffers[i].start,buffers[i].length))perror("munmap");}使用close函数关闭一个视频设备close(cameraFd)详细参考《VideoforLinuxTwoAPISpecification》15RTSP协议–RTSP简介什么是RTSP协议

RealTimeStreamingProtocol或者RTSP(实时流媒体协议),是在IP网络上传输流媒体数据的应用层协议,控制实时数据的传送。

RTSP提供了一个可扩展框架,使实时数据,如音频与视频的受控、点播成为可能。数据源包括现场数据与存储在剪辑中数据。

该协议目的在于控制多个数据发送连接,为选择发送通道,如UDP、组播UDP与TCP,提供途径,并为选择基于RTP(RFC1889)上传送机制提供方法。(RTSP协议详细参考RFC2326)什么是RFCRequestForComments(RFC),是一系列以编号排定的文件。文件收集了有关因特网相关资讯,以及UNIX和因特网社群的软件文件。目前RFC文件是由InternetSociety(ISOC)所赞助发行。16RT丧SP协议–RT占SP与HT瓶TP在RT滔SP里我己们没足有连接纱的概逃念,鸦而由这RT顾SP橡会话碎(s斩es艺si柳on抗)代田替(鸦每次敲服务享由服烘务器纽奉端保崖持一喊个带六标签毕的会纲话)础。R虑TS舟P会浮话没里有绑势定到妨传输世层连拳接(恼如T泻CP测连接薪)。民因为痛虽然但在R适TS撤P会兽话期疫间,牢RT孕SP就客户尽端可退打开玩或关巾闭多液个对甚服务僻器端台的可洞靠传菊输连蠢接以聚发出雷RT发SP漫请蛇求。语但此币外,瞎也可程能使描用无弱连接膏传输黎协议判,比傍如用为UD坟P发嫂送R纵TS倡P请刃求。RT出SP膀控制君的流彻可能蚁用到菊RT矿P,她但R桨TS骗P操奶作并那不依市赖用尖于携坡带连躁续媒英体的亏传输辟机制撑。实屿时流师协议吸在语授法和士操作凑上与斜HT潮TP攻/1踪蝶.1泰类似率,因勤此H信TT客P的渡扩展菠机制秒大都金可加纲入R欣TS佣P。RT桨SP事在很丈多方系面还宽是和塘HT饼TP旁有很守大的藏不同眯:RT型SP扭引入造了很藏多新体方法素并且租有不吓同的吊协议判标识径符。RT牛SP莲服务稻器在邻大多割数默搏认情咸况下得需要蹲维持乞一个开状态留,但浊HT蒙TP月是无陶状态洁协议虎。RT资SP毫客户亚机和椅服务溉器都歇可以厨发出锁请求板。数据沾由另便一个师协议捐传送彻(有暖一特杆例除闻外)把。RT龄SP叫使用闭IS钳O撇10固64团6(爸UT纹F-尽8)戚而林不是背IS边O档88悔59痕-1旗,以古配合既当前絮HT筝ML筒的国裙际化握。RT睛SP脱使用民UR手I请酸求时事包含贼绝对泡UR隶I。谋而由团于历债史原谣因造蚁成的疮向后泥兼容扁性问艰题,岔HT渴TP贩/1弱.1腿只在嗽请求寨中包开含绝律对路堵径,夸把主正机名阻放入兆单独眯的标尺题域核中。这使伟得“贷虚拟狼主机惑”实窑现更脏为简绣便,杀一个红单独栗IP胀地址霞的主窜机可朵虚拟栽为几委个文虹件树脱主机栗。17RT婚SP协议–支持浓的操哑作从媒竞体服孩务器垦上检替索媒针体:用户雁可通边过H扭TT次P或汇其它启方法届请求淋一个壁表示叉描述久。如株表示迹是组非播,赶表示阁描述秩就包裂含用括于连牺续媒于体的桌的组破播地储址和锤端口愤。如洗表示名仅通斤过单袋播发保送给公用户订,用颗户为哄了安祝全应详提供侄目的挣地址眨。媒体序服务艺器邀也请进占入会决议:媒体签服务衰器可迅被邀钞请参宋加正录进行怠的会黑议,斧或回帜放媒树体,登或记煌录其贞中一启部分柴,或霸全部叹。这后种模似式在但分布防式教弱育应诸用上士很有刮用,废会议危中几钉方可桃轮流章按远存程控许制按文钮。将媒假体加裂到现筋成讲阁座中允:如服昆务器炉告诉拌用户垦可获迷得附魔加媒戚体内秘容,较对现艇场讲乒座显嚼得尤搅其有单用。18RT饥SP协议–RT凉SP状态RT右SP掀控制的流差可通过钢单独舰协议嘉发送打,与砌控制勉通道胳无关适。例如药,R叠TS撒P控固制可波通过乖TC汇P连普接,践而数对据流亭通过熔UD槽P。暗因此绞,即忆使媒价体服陶务器窝没有筑收到女请求笔,数虫据也矮会继撕续发敞送。解在会倾话生怎命期床,单武个媒剂体流沾可通陶过不亿同T晃CP堆连接而顺序债发出别请求均来控壮制。麻所以鞋,服圾务器仿需要演维持野能联址系流寸与R准TS俗P请肿求的菜会话侧状态惰。RT牌SP膨中很桶多方耳法与惭状态忍无关丑,但筑下列禁方法千在定谅义服分务器蛋流资竹源的许分配轮与应竹用上鼓起着切重要例的作赤用:SE魔TU隙P:让服卖务器食给流弄分配尤资源颠,启象动R螺TS豆P会肺话。PL绞AY涨与R艺EC促OR鞋D:开始涛由SE画TU酬P够分配的流的毙数据牌传输善。PA穿US枯E:临时既停止尼流,耗而不题释放涝服务叹器资看源。TE骄AR饿DO菜WN茶:释放蚀流的馅资源济,R厦TS柜P会妄话停朋止。标识巷状态牵的R绪TS羊P方替法使算用会愿话(角se裹ss小io缺n)乏标题溜域识休别R容TS退P会派话,睡为回略应S呢ET帽UP嘱请求蹲,服昌务器滑生成钳会话鲜标识。19RT剪SP协议–RT崇SP消息RT辉SP脱是基览于文点本的额协议碰,采弦用I择SO续1呼06甜46昌字柱符集贵,使钞用U锄TF键-8硬编码沉方案洒。行以迎CR寇LF肾中断逗,但穗接收泰者本毙身可财将C劳R和葵LF们解释盼成行证终止残符。刻基于鄙文本框的协牵议使损以自娱描述帖方式永增加袭可选诉参数指更容存易。10死64掉6字慰符集鲜避免办敏感苹字符驳集切跪换,硬但对着应用长来说骆不可告见。竖RT拜CP疼也采层用这触种编厉码方历案。嚼带有扣重要浑意义鹊位的虽IS密O给88如59弦-1柔字符且表示育如1月00扫00节1x字1俗0x削xx奔xx仍x.最。R科TS费P信证息可呢通过锐任何无低层出传输社协议类携带宿。请求粱包括秧方法辜、方埋法作抽用于形其上贺的对妹象和渔进一纽奉步描灾述方麦法的转参数估。方惊法也短可设独计为逮在服诱务器面端只呜需要乘少量散或不佩需要寒状态着维护嫁。当狠信息蜂体包陆含在灿信息拿中,芦信息钱体长毕度有搅如下否因素皆决定震:不管躁实体泥标题粥域是熔否出羡现在庸信息侨中,充不包项括信轰息体拴的回舍应信杰息总距以标息题域俯后第烫一和窃空行孔结束咳。如出屋现内坟容长抖度标尖题域将,其晕值以渔字节赶计,这表示尝信息最体长任度。杂如未六出现免标题耕域,妈其值肯为零岗。20RT晌SP协议–消息匀类型RT臂SP往消息转由客尖户端患到服忆务器醒的请阶求和王由服躁务器挽到客肉户端矛的回洲应组岩成。RT落SP赏-初me怨ss岩ag映e常=钟Re位qu触es卸t熄|扭Re午sp买on衣se未;洲R喷TS恐P颗/1饲.0笛m监es案sa进ge孟s请求相(R翁eq饺ue虎st胳)和义回应澡(R足es烧po认ns偷e)移消息健都使镰用R旺FC钞82园2中效实体纳传输好部分仓规定毕(作眯为消最息中阻的有共效载浆荷)早的消辰息格珠式。坡两者不的消馆息都努可能嫩包括廊一起虑始行甘,一歉个或兰多个饱标题奸域(女he律ad柱er盏s)谣、一夜行表斜示标坏题域峰结束饺的空粒行(貌即C撑RL拔F前蜻没有袋内容公的行须),彼和一愤个消勺息主兄体(猜me菠ss壁ag抹e-风bo倒dy像,可冰选)雀。ge炉ne捏ri裳c-层me纹ss迎ag宫e丹=零st垮ar小t-识li锅ne*m产es薄sa尸ge饲-h每ea栏de袭rCR恶LF[良me条ss白ag毁e-枪bo柱dy踩]st绍ar轿t-姐li凝ne陡=队R滑eq跌ue去st包-L吐in拴e扑|漆St气at置us哗-L率in走e为了回健壮选性考闷虑,岁服务落器应狼该忽纲略任预何在期期望倘收到矩请求鲁行时篇收到府的空舍行。枪换句薄话说车,如获果服栋务器温正在弃读协混议流劈燕,在土一个茄消息桂开始暴时如紧果首蛙先收帐到了宅CR免LF斥,这蚀个C僻RL产F符撒应被快忽略鲜。21RT忍SP协议–消息锋标题RT铸SP秋标题替域,贯包括呜主标现题(攀Ge丹ne廉ra尺l-罢He俊ad异er凤,4冲.3祖节)训、请于求标冶题、决回应余标题艳(及屡实体保标题滋,都服遵照页RF纠C8月22缴-3狼.1节[朝7]荒给出午的通哄用格估式定诵义。裕每个启标题以域由睛后紧渐跟冒户号的剂名字喂,单泄空格封(S伪P)口,字茎符及苦域值效组成猜。域接名是末大小阔写敏巾感的它。虽耻然不浮提倡厅,标饼题域撇还是蒙可以义扩展券成多握行使获用,圣只要膀这些萍行以幅一个嘴以上浓的S糟P或玻HT艇开头圆就行记。RT室SP歌-h须ea欧de直r勤=甘fi轰el衰d-嫂na按me悬"句:"柴[滋f扑ie纤ld物-v凤al候ue呜]换C庙RL昏Ffi台el忠d-士na企me寸=拆t秀ok谊enfi龟el卸d-瞒va垃lu逢e单=弟*(鲜f且ie吸ld沟-c掩on拘te漆nt漫|获L价WS拳)fi土el否d-着co丹nt伐en炉t漫=塘<t悦he挨O崭CT谋ET付s先ma洲ke纺u肠p眯th寺e借fi只el搜d-熄va弄lu写ean遣d辱co焦ns梦is情ti尘ng纵o桑f种ei戴th桑er黎*妖TE症XT耗o不r鹿co帝mb压in灯at历io去nsof非t暮ok剩en懂,据ts昆pe他ci堤al趣s,疾a叨nd凶q刑uo虫te灶d-革st党ri乱ng兄>标题符域接案收的衡顺序暗并不随重要乖,但职良好匙的习跨惯是忧,先砌发送绒主标碌题,照然后爸是请禽求标丑题或秤回应协标题筋,最脸后是桑实体衣标题丙。当且殿仅当条标题索域的晋全部且域值夸都用兆逗号承分隔惜的列纺表示里时(孕即,析#(搬值)介),奔多个突有相系同域仇名的生RT败SP乓标题行域才瞎可以制表示档在一修个消士息里移。而抚且必源须能价在不假改变绝消息双语法盖的前域提下口,将砌并发除的域屈值加备到第后一个共值后薄面,劲之间萄用逗赤号分容隔,链最终稼能将右多个弦标题飘域结扣合成惭“域训名:脑域值攻”对竿。22RT琴SP协议–消息浊主体描和长宗度RT尸SP突消息尖的消牛息主鲜体(它如果运有)尼用来哗携带卫请求雕或回泪应的少主体尽。仅昼在使肆用传爸输编嗽码(证Tr李an师sf丢er指-E晒nc帮od任in脾g)编时消息息主猜体和刊实体恶主体隔才有献所不纠同,土这种刚情况除在传小输编框码标抱题域盐中有腐详细矿说明滨。me逃ss触ag宇e-临bo标dy相=届e润nt遍it腾y-隐bo竞dy|甜<e安nt仙it积y-锐bo变dy乞e计nc湿od灯ed丢a裁s积pe叠r婶Tr直an皂sf层er柄-E书nc叠od蜡in列g>传输殖编码为必须蛇能解示释所伙有保恶证传拳输安贸全和蒙正确惭的应驰用程俘序的口传输爹编码汁。传喉输编谨码是它消息或而不月是实勒体的评一个蕉属性井,因授此可毒以由帅任一区应用壤程序娃随着抱请求树/回登应链虽添加适或者啊删除储。什么帐时候什允许担消息驳带消冒息体仍的规爆则在信请求厌和回蔑应两妖种情比况下惭有所许不同要。在请罚求中至有无魔消息肆主体营的标提志是搜是否貌包含悲内容扒长度逃或请查求消唤息标贺题域籍中的刊传输适编码死标题胀域。僵只有联当请速求方厅法允撇许有纳实体塘主体稍的时修候才算能在稳请求论中包漠含消醒息主恼体。而对巩于回童应消谱息来卷说,盟无论稿消息会中是迁否存队在消亦息主皇体都毕与请社求方敏法和兼回应贩状态侄编码驰无关尿。所琴有回最应标友题请贵求方锡法的狗消息捉都不委能包驻含消守息主驰体,俭尽管央有时兔会因慰为存鞭在实体体标鸭题域春而使由人产武生误滑解。崖所有答1×参×(壁信息赚),节20甚4(捧无内坟容)姨,3习04们(未呀修改压)回令应都贤不包双含消凡息主际体。础而其痕他回熟应则搏都包绣含主衫体,情尽管拌其长彩度有兔可能绿长度熄为零圾。23消息啦主体胳和长千度4.锯4絮消息留长度当消馒息包互含消勿息主刺体时生,消股息主逐体的诱长度航由以赛下规框则来监决定佛(按础优先漂级高钻低顺喷序排蚕列)田:1.滥任铸何回株应消弊息都腐不包报含消毫息主溜体(砖如1割××详,2绘04薄和3吩04若回应缝),仪并且炉不管诞消息凑中是未否存昆在实昂体标执题域罗都以黎消息烫标题脑域后申的第砌一行插空行于表示调结束惠。2.笑如认果内缸容长择度标响题域谈存在据,它祝在字谎节中殖的值宋就是闻消息黄主体久的长原度。忆如果胳内容例标题屯域不趴存在握,则屑假设拳值为澡零。3.盆服蜂务器抽关闭荷连接肉时。让(关恼闭连队接没狠有用云来表鸽明请刘求主池体结避束,缴否则泛可能晒导致卖服务抵器不固能回子应。注意撞,R哪TS格P不享支持亚(至用少现蚂在)肾HT跳TP付/1秋.1帮的块际传输筒编码班(详怀见[军H3该.6扮])亲并且深要求咐有内镜容长桐度标挤题域宏。尽管医表示锅描述继长度脉动态恋产生狼,但末由于娇可获躲得了擦表示栗描述燃返回语长度杨,使员得服财务器敏总是忌能决纵定表待示描拆述长扰度而帆不需驴使用骄块传躲输编律码方卫式。剥只要众有实际体主消体就蚊必须船有内凤容长萝度项姐,这惜些规兼则保待证了船即使肝没有尖给出波明确词长度毛也能降做出扒合理蹄的操构作。24RT卖SP协议–应答状态臭行:掀完展整回湿应消目息的烦第一垮行就诵是状锡态行够,它腿依次淡由协海议版评本、郑数字带形式叠的状忍态代墙码、救及相骆应的届词语邪文本舍组成脱,各椅元素闻间以着空格变(SP)分后隔,浩除了叉结尾业的CR伸LF外,辨不允鼻许出羽现单至独的CR或LF符。St瓶at罪us医-L荒in蛾e肯=厘HT规TP颜-V史er屿si成on府S肝P滑St伤at善us跟-C忆od快e耕SP亮R治ea争so额n-贷Ph岛ra鹊se牧C搂RL夸F状态泳代码洪和原弱因分君析:丢状勉态代雷码(St争at剩us判-C特od营e)由3位数突字组种成,钱表示而请求霜是否垃被理怀解或茂被满僵足。琴原因趴分析芒是用磁简短雕的文贷字来蝴描述阁状态婚代码颈产生裤的原索因。鱼状态溪代码去用来泼支持持自动例操作吧,原穴因分态析是勺为人贷类用智户准毒备的年。客纯户端速不需摄要检扫查或疼显示册原因升分析损。溪状态直代码崇的第馅一位鼻数字截定义跌了回幼应的法类别姻,后胸面两样位数先字没础有具恨体分假类。说首位槽数字升有5种取阿值可栏能:o税1x窄x::保耕留,爆将来表使用伶。o胃2x商x:成表功炼-愤操作街被接后收、妻理解归、接织受(re朴ce狡iv宁ed狱,江un服de释rs股to贤od么,邻ac絮ce横pt捧ed)。o磨3x踩x:重刘定向辛(Re趁di园re六ct山io胖n)-哪要压完成撤请求握必须终进行沿进一俗步操晶作。o估4x薄x:客灰户端教出错狱-裹请栽求有猾语法很错误摩或无箭法实述现。o芹5x延x:服桶务器卫端出骆错扬-蔑服务坦器无揭法实素现合受法的宁请求燃。25RT便SP协议–回应替标题辱域回应骑标题滔域中惑包括据不能药放在耻状态棵行中妖的附吸加回侧应信甚息。袜该域俩还可优以存路放与丹服务注器相役关的迈信息愧,以践及在猪对请签求UR沈I所指屠定资喇源进牢行访虏问的皂下一劣步信拉息。re谈sp韵on荷se删-h挽ea江de搜r绝=绪Lo针ca经ti亦on抖;惜|牌Pr旗ox坦y-帝Au持th史en胃ti腹ca签te菜;|鼠Pu腿bl揭ic勾;|破Re意tr苦y-影Af背te除r老;喜|妥S蕉er劲ve错r截;牲|弟V匪ar榴y怀;狸|骡W发WW耽-A淘ut演he败nt规ic狠at贪e嘱;回应蚕标题馒域名邻只有锣在与捐协议崭版本袄的变动化结楼合起碗来后牢,才诊能进港行可膏靠的想扩展徒。实继际上拖,新掠的或物实验执中的脖标题诵域只跨要能划被通闭讯各款方识辱别,以其语咸法就邻可使迟用,璃而无临法识目别的蔬标题仓域都喘将被刷视为边实体尝域。26RT交SP协议–连接RT淋SP请求貌可以让几种脉不同泉方式伪传送扒:1、持含久传坑输连古接,往用于乎多个窃请求/回应鼻传输供。2、每驻个请棵求/回应横传输姻一个冷连接尸。3、无傍连接劝模式杆。冬传黑输连团接类锦型由RT慌SP他U护RI来定卷义。族对\“匠rt在sp把\”开头爹的UR竿I请求怕,需惹要持扰续连忆接;许而\“闸rt收sp兆u\喝”开头涨的UR炉I请求挪,调搭用RT船SP请求厘发送委,而绪不用炮建立羡连接宜。碍不霞象HT猫TP,RT团SP允许漠媒体波服务睛器给品媒体生用户辈发送控请求伤。然茶而,厕这仅肠在持撇久连竖接时堡才支趴持,馅否则滔媒体裹服务叉器没慰有可沙靠途到径到愚达用通户,堆这也特是请宽求通躺过防垂火墙婆从媒选体服奇务器艘传到笛用户阳的唯但一途勤径。赢流水剪线操做作:负支慰持持功久连提接或仅无连状接的质客户剥端可谈能给橡其请息求排窜队。膏服务或器必渔须以眉收到浑请求阳的同量样顺贵序发有出回盘应。27RT另SP协议–传输寻的可穷靠性些及确园认可靠皮性及蔽确认溜:狂如果其请求雨不是而发送眨给组模播组甘,接塔收者碎就确锣认请皆求,肃如没肚有确鹊认信腹息,吵发送支者可公在超凤过一香个来肥回时旱间(RT书T)后稿重发认同一启信息兆。RT言T在TC煎P中估岩计,堂初始毯值为50课0拢ms。应各用缓学存最资后所肢测量卡的RT它T,作驳为将盼来连另接的玩初始发值。群如使协用一笨个可险靠传品输协拢议传矩输RT灾SP,请迟求不骑允许惜重发涌,RT片SP应用隐反过脖来依呈赖低摇层传早输提战供可尾靠性伯。如啊两个光底层苦可靠越传输窝(如TC症P和RT陶SP)应盟用重戒发请巷求,感有可叫能每每个包池损失饮导致想两次和重传絮。由蜻于传筝输栈演在第涂一次萝尝试慌到达戏接收哪着者除前不梨会发指送应躺用层名重传符,接危收者数也不碑能充宅分利便用应翁用层竖重传威。如羡包损确失由弃阻塞宇引起幻玉,不盈同层先的重胀发将男使阻匹塞进虫一步凤恶化原。时忽序标扇头用乡丰来避叹免重悄发模凳糊性袖问题凯,避煤免对组圆锥呆算法言的依回赖。截每个呼请求拐在CS鸟eq头中敏携带戏一个亲系列霉号,贪每发皆送一漠个不泉同请厕求,积它就蛋加一催。如怨由于扇没有顿确认庆而重西发请转求,匆请求维必须齿携带停初始纹系列鞭号。叉实现RT壤SP的系往统必电须支唤持通计过TC喇P传输RT量SP,并赴支持UD猛P。对UD腥P和TC落P,RT房诚SP服务基器的叶缺省耗端口渗都是55搅4。许钱多目循的一曾致的RT盘SP包被堪打包屡成单危个低焰层PD辰U或TC方P流。RT搁SP数据钳可与RT弟P和RT她CP包交陕叉。扣不象HT必TP,RT狼SP信息磨必须喇包含虎一个仆内容江长度依头,坊无论怨信息位何时农包含粒负载堵。否取则,RT米SP包以疗空行沸结束避,后比跟最卡后一绞个信毛息头豪。28RT赚SP协议–方法错定义方法问定义表示吩了对嫌请求岩统一米资源工标志尊符(Re翠qu判es誉t-根UR嫂I)识浅别的甩资源言所执励行的瞎操作桶。方街法名船区分型大小役写。氏将来捞可能吨定义丹新的虑方法贪。方枪法名顷可能辨不以就美元矛符'$'(十威进制干数24)开黎头,翻但必眠须具牙有表资征意营义。下表背是对大方法仓的一芒个小成结:方法期方向爸目标东是悉否必惹需DE很SC内RI总BEC扮->济S镰P,冒S厕r第ec饲om疗me肚nd破edAN拜NO蜂UN炒CEC立->唯S闲,S纽奉-巡寿>C孤P,棕S住o瓦pt哄io屑na滔lGE权T建PA叹RA挡ME附TE芬R脂C厘->扰S煤,S冰-筝>C膨P渴,S捉op览ti程on均alOP僻TI痒ON双SC落->万S演,S匙-榜>C役P蚊,S究re割qu狐ir伪ed索(S底!己C运:绩op唉ti扎on朋al奖)PA提US朱E妖C标->强S伞P,晨S爬r炊ec溉om谈me周nd如edPL帆AYC跃->右S混P,成S尊r愉eq闯ui协re带dRE狗CO棋RD颤C质->樱S会P,帅S寨o射pt献io斜na海lRE垒DI暂RE转CT枯S扰->扫C扔P,孝S刘o渴pt温io零na距lSE命TU叨PC俱->触S奴S倍r袄eq预ui家re熟dSE喷T君PA屋RA甘ME阶TE银R宪C柳-谢>蛇S,或S垫->光C煌P,卧S步o雀pt芝io还na伴lTE气AR砍DO待WNC豆->主S治P伟,S偷re断qu色ir搭ed对RT吗SP方法仔,和翅其操光作方贝向及草所操都作对滤象(P:表示,跃S:媒体晋流)井的一畅个概充览注意挡:PA读US丘E方法鸡是推脊荐的,但在川构建鸣一个观全功拘能的遇服务筒器时雄可能稀不支凉持此削方法爆,这奖时就原不需吊要它笔,比急如对锯于li刺ve偶f复ee爆ds。如寒果服禁务器煮不支械持某商个特愚殊方移法,孙它必俯将返蹦回"5制01纽奉N释ot味I日mp匀le搬me造nt金ed狸",并踩且客斜户端复应该芦不再似向该夸服务责器请源求该质方法例。29RT折SP协议–OP工TI姥ON死S方法OP许TI叫ON基S请求坟可能迷在任敌何时灭候发援出,劫例如醒客户着端将到要发槐出一抢个非徐标准纷的请构求时波。它批不影臭响服肌务器庆状态冲。示例旬:C-刮>S立:OP乓TI枝ON约S伤*标RT嘴SP柏/1贱.0CS掉eq底:谱1Re爽qu屈ir南e:果i脚mp糟li短ci齐t-凭pl吧ayPr饶ox六y-流Re焰qu耳ir获e:狡g奸zi胀pp舍ed才-m鄙es均sa捕ge助sS-拉>C键:RT跳SP模/1减.0虹2素00额O占KCS系eq痛:堤1Pu狼bl域ic掌:葡DE鼻SC喉RI搂BE拜,桐SE匠TU揉P,小T否EA悬RD晶OW裤N,苍P允LA悟Y,柳P烘AU量SE注意陷:这廊些都滑是必村要的恐构造姿特征援(ne旨ce买ss瞎ar纳il氧y末fi夸ct怨io舌na降l箩fe稠at森ur滚es)。30RT符SP协议–DE化SC贞RI普BE方法DE漏SC赔RI番BE方法排从服描务器踢检索钉表示杏的描浅述或任媒体知对象艘,这制些资隶源通绘过请北求统塌一资右源定调位符磨(th拘e贿re虑qu恐es熔t疯UR园L)识卫别。摔此方酱法可态能结叮合使危用Ac米ce走pt首部虾域来多指定其客户教端理鱼解的潜描述锯格式准。服般务器旦端用参被请你求资亮源的法描述画对客刊户端舱作出饶响应盼。DE盯SC术RI组BE的答爱复-响应栋对(re按pl袍y-堪re坐sp少on去se夸p晕ai零r)组坊成了RT乏SP的媒李体初碑始化扩阶段霜。示例缩慧:C-厕>S凝:DE阔SC向RI巴BE汤r环ts挽p:荷//浪se冠rv践er拴.e怜xa最mp规le业.c卧om神/f鲁iz作zl烧e/组fo月o熟RT屋SP迁/1戒.0CS木eq裳:岸2Ac员ce棚pt甩:询ap陡pl绢ic剥at房诚io摔n/氏sd跌pS-和>C形:RT滥SP库/1寨.0扇2快00叠O遇KCS菜eq券:受2Da狠te恰:表23惠J毅an模1援99衔7引15轧:3蔽5:携06蜜G峡MTCo歼nt厚en秤t-遭Ty绣pe拌:显ap童pl苹ic夜at苦io怨n/轰sd心pCo苹nt样en恶t-傻Le把ng偷th冤:因37愤6SD却P内容苹,见肝下页专。31RT与SP协议–DE跟SC截RI雨BE方法v=硬0o=mh盼an谅dl钳ey螺2厌89映08加44跨52止6低28蛛90泥84改28许07IN挽I擦P412孕6.宴16蝴.6据4.愧4s=嗽SD远P洁Se云mi嚼na誉ri=撕A耍Se暴mi敏na均r撕on定t晚he瓜s晚es篮si咱on约d责es甘cr株ip症ti稿on植p孕ro坛to胜co奸lu=持ht希tp债:/桶/w摆ww桑.c望s.勉uc靠l.衬ac呈.u罩k/仍st杰af拌f/亿M.范Ha羊nd腊le铸y/崖sd榆p.漠03议.p工se=狮mj肤h@思is链i.翁ed谢u下(M狱ar倚k景Ha絮nd乌le衔y)c=数IN他I关P4订2手24霞.2航.1固7.愉12吴/1珍2t=晌28智73谣39拳74吐96恢2亚87糕34在04连69及6a=夹re小cv盾on湿lym=兼au公di勺o等11过R伴TP衡/A突VP脚0m=京vi遗de选o光96吧R券TP森/A站VP闯3洲1a=袋or击ie写nt帽:p踪蝶or株tr剪ai丽tDE愚SC惹RI朽BE响应迈必须纪包含棵它所寨描述费资源薄的所线有媒联体初鸽始化宵信息两。如公果媒射体客昨户端狗从一仅个数引据源技获得怎表示吹描述场,而央非通张过DE累SC接RI抄BE,并勒且该扶描述该包含孝了一寨个媒介体初绢始化猎参数骑的全饥集,训那么卸客户抚端就箱应该棚使用要这些挣参数北,而尼不是既再通欠过RT肤SP请求渡相同堂媒体叮的描毁述。再有扎,服泛务器烛不应倦该(SH垃OU绳LD码N榴OT)使迁用DE沾SC村RI援BE响应膛作为me商di偶a勒in追di拜re诵ct士io胸n的方替法。32RT耕SP协议–DE观SC领RI脖BE方法需要懂建立衰基本府的规来则,旨使得靠客户凝端有少明确钉的方塌法了蔽解何救时通昂过DE夹SC凝RI屑BE请求狠媒体邪初始或化信个息,喝何时良不请育求。是强制DE恋SC买RI惹BE响应衔包含立它所员描述即媒体帝流集秀合的仍所有希初始脊化信默息,绵不鼓块励将DE虾SC及RI隙BE用作me辨di予a凭in扩di客re姥ct读io秒n的方艰法,棒通过绍这两院点避阳免了点使用朝其他喇方法辫可能阀会引欺起的吉循环巾问题暴(lo瞎op费in疗g漏pr赶ob转le叨ms)媒体脚初始从化是爱任何幻玉基于RT砖SP系统臣的必顾要条匙件,练但RT舌SP规范武并没工有规歼定它布必须胆通过DE存SC雨RI阴BE方法墨完成教。RT朽SP客户鬼端可倍以通馅过3种方暖法来旋接收熟媒体圈初始摄化信锯息:.刘DE效SC紧RI枝BE方法谜;.其它忌一些淡协议勉(HT谢TP,em派ai报l附件俘,等摸);.命令默行或麦标准旅输入妄(同环一个SD龙P或其长它媒廉体初小始化销格式辫的文托件一匆起启未动,策工作杜方式屡类似艺于浏排览器装的帮厚助程押序)觉。为了斜实际猴协同离工作手,强唱烈建牺议最不精简侄的服务务器兽也支睁持DE早SC日RI艳BE方法阵,最窑精简硬的客知户端强也支断持从追标准毛输入想,命踪蝶令行真和/或其脏它对息于客叉户端邀操作咸环境跃合适垮的方候法来规接收规媒体晶初始谎化文络件的降能力撤。33RT核SP协议–AN霉NO戒UN霞CE方法AN辉NO到UN题CE方法遮有两析个用殃途:脆当客股户端俊向服腊务器蜂发送逆时,AN浮NO铃UN容CE将通辜过请员求UR史L识别眨的表显示描蓬述或粱者媒术体对黑象提仁交给剩服务王器;斜当服糕务器椒向客脑户端栏发送谣时,AN忧NO妈UN安CE实时赤更新他会话还描述罗。命如果殊有新元的媒绢体流信加到众表示茂中(飘比如梅在一基个现芬场表猾示中常),猎整个毛表示它描述吓应该喉重发禁;而架不只戴是增婆加组搞件,粉如果饶这样央做的芹话,糊组件葡也可株以被后删除钟了。C-王>S粮:再AN鞋NO蜂UN普CE谜r宁ts惨p:体//评se乖rv冻er昌.e界xa遇mp墙le罚.c虑om灭/f采iz纽奉zl勺e/洗fo壮o送RT讽SP插/1君.0CS数eq疲:躁31维2Da侨te遍:四23雕J胜an亿1套99项7菌15蛇:3腹5:驼06羽G踩MTSe梁ss鱼io脏n:浅4拦71寄12崇34争4Co傍nt鬼en松t-携Ty挑pe纱:庭ap郊pl劫ic对at但io拐n/侦sd诊pCo抽nt敬en楼t-打Le奶ng浅th贿:平33茎2v=画0o=盖mh桥an献dl颜ey凤2锻89啊08评44智52捉6桃28萍90洞84辈54陪68抛I电N疏IP让4乒12猫6.天16吸.6坐4.尽4s=听SD忘P刻Se庭mi宿na笑ri=赔A豆Se丘mi罩na梯r图on证t蜻he趟s弊es锐si捡on娇d杂es殃cr眼ip帝ti类on古p忠ro偿to羽co估lu=恩ht衡tp刻:/中/w白ww戏.c逮s.剧uc嫂l.撒ac滑.u秒k/裂st脚af诞f/店M.辞Ha览nd堡le私y/冰sd贤p.区03本.p侨se=捷mj灾h@召is搭i.需ed兴u每(M绝ar现k签Ha到nd咬le冶y)c=敢IN杨I汉P4旦2匆24前.2话.1乎7.竞12共/1览27t=源28述73坟39夕74难96羽2迎87烤34婚04默69障6a=贞re妻cv意on捕lym=离au泳di巴o贱34剂56罢R抹TP呢/A悦VP倚0m=周vi馋de祥o兔22篇32件R狮TP攻/A炕VP淹3粒1S-津>C稿:穴RT龟SP雄/1俘.0耀2趟00现O均KCS适eq窜:贺31涝234RT俱SP协议–SE敏TU资P方法SE狱TU捕P请求医为UR浓I指定屋流式日媒体碌的传氏输机抱制。客难户端巩能够江发出逝一个SE浸TU渔P请求骑为正伤在播唐放的普媒体点流改题变传煎输参客数,丝式服务深器可洪能同鸦意这隙些参辱数的芳改变骆。若傲是不勒同意帽,它敏必须篮响应胸错误"4趟55艇M薄et籍ho佣d兔No存t骨Va赵li刃d昂In怒T绘hi辨s爹St犯at齐e"。酿为了苍尽量举绕开种防火弄墙干狐涉,豆即使摊它不秆会影陶响参赔数,唯客户麦端也肚必须锹指出短传输拖参数苏,例车如,戴指出稼服务绪器向帽外发铜布的厌固定惠的广斗播地纹址。由于SE吃TU汗P包括浊了所绪有传王输初镰始化您信息扒,防疫火墙提和其故他中陪间的威网络莲设备滑(它援们需糊要这赤些信鼓息)焦分让乱了解滴析DE厕SC纹RI怖BE响应放的繁脊琐任桌务,虏这些霉任务颗留给监了媒忧体初招始化幅。Tr戚an偏sp缝or税t首部擦域指条定了王客户团端数窄据传胀输时气可接垒受的览传输泰参数罗;响姓应包椒含了鲜由服牵务器如选出窃的传云输参挑数。C-蚂>S晓:您SE殃TU医P豆rt雁sp秀:/够/e右xa范mp冤le壁.c镰om遇/f盒oo济/b饼ar尘/b溉az房诚.r晃m警RT秃SP泼/1纷.0CS作eq歪:常30尤2Tr旁an撞

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论