




已阅读5页,还剩4页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
MMS 协议概述MMS是(Multimedia Messaging Service)的缩写,中文意为多媒体短信服务,它最大的特色就是支持多媒体功能。多媒体信息使具有功能全面的内容和信息得以传递,这些信息包括图像、音频信息、视频信息、数据以及文本等多媒体信息,可以支持语音、因特网浏览、电子邮件、会议电视等多种高速数据业务,在GPRS网络的支持下,以WAP无线应用协议为载体传送视频片段、图片、声音和文字。多媒体信息业务可实现即时的手机端到端、手机终端到互联网或互联网到手机终端的多媒体信息传送。MMS信息是以标准方式压缩的,因此,接收一方可以确认它不支持的内容格式,并以控制方式进行处置。这也是互联网上解决内容交互问题所用的方法。MMS标准推荐支持的媒体类型有:JPEG、GIF、TEXT、AMR语音和其他一些非主流格式。为了获得更好的交互性,诺基亚和其他一些制造商已共同拟就了“MMS一致性文件”,列出了MMS手机能支持的最小一组内容类型 / MMS PCMMS协议解析1(原创)1.简介可以传输音、视频的通用服务器有两种,都有各自的优缺点。分别是:标准WEB服务器和流媒体服务器。标准WEB服务器使用HTTP协议。流媒体服务器使用两种协议提供媒体服务。这两种协议分别是HTTP1.0或1.1以及MMS(Multi Media Server)协议。流媒体服务器使用的HTTP协议是经过修改的版本,扩展了语法命令以支持实时传输。这是普通HTTP所不支持的。使用两种协议提供媒体服务和WEB服务器有着显著区别。一个区别是在WEB服务器上使用标准HTTP协议的数据不需要一个特殊的服务器和软件进行浏览甚至下载。另外一个区别是使用MMS(例如Microsoft Windows Media Services)的流媒体服务器通过流形式提供媒体给使用者。流媒体服务器可以处理大量数据。1.MMS是什么MMS是微软的私有流媒体协议。它的最初目的是通过网络传输多媒体广播、视频、音轨、现场直播和一系列的实时或实况材料。使用这个协议的观众可以通过电脑观看电视图像或音轨。微软为有网络连接的家用电脑使用者开发了免费软件。MMS建立在UDP或TCP传输网络层上,是属于应用层的。使用TCP的MMS上URL是MMS:/或者MMST:/,如果是UDP的MMS使用MMSU:/。在低带宽的情况下推荐使用UDP连接。HTTP带有大量的头信息,UDP一般不能通过防火墙,在有防火墙的情况下使用HTTP。TCP的无差错特性是非常诱人的,它的吞吐量比UDP小,但是在下载MMS的时候TCP是不二的选择。2.哈!看起来开始有趣了!到目前为止还没有关于MMS协议的任何有效的细节。网络搜索和库阅读也是徒劳无功的。微软不打算就MMS的内容发表任何看法。这真是水到山前疑无路,从使用协议的流媒体服务器上下载流信息已经成为了可能,使用MMS协议的服务器还只能在线观看,事实上,也只是目前为止!3.让我们从这里开始包和流MMS协议是以包和数据块的形式从服务器向使用者发送数据到你的计算机上。服务器上的媒体文件是以ASF或WMA形式存在。直播通过流媒体服务器组装成数据包。如果是TV/视频的话,一个包可能会由多个流组成,但是语音广播就只有一个流。可以认为多个流是被混合到了一个实际的包中。包中发送的流取决于媒体类型。下面会涉及到更多关于流的内容。MMS协议包有两种:命令包和数据包。4.首先,让我们来处理命令包MMS协议使用一段命令来完成多种人物,比如:连接到流服务器、请求文件、丢包重传请求及类似事宜。这是应用层协议,在这一层上媒体使用者和服务器进行通讯。这些都要传输到使用者。5.MMS命令包头下面分析MMS包头结构。以下是小端格式。左边=LSB,右边MSB。0f 00 00 00就相当于0f。开始-4bytes = 01 00 00 00从client发出的格式是固定的。00域从服务器发出的时候是可以发生变化的。现在不能理解这个比特的含义总是0,可能是版本号。4bytes = CE FA 0B B0命令ID值,或许是版本或者序列号。这总是固定的。如果你按照大端来读就是“Boob Face”.可能是巧合吧。4bytes命令数据包长度,计算到全部数据末尾。单位为比特,从协议类型域之后开始计算。 4bytes = 4D 4D 53 20协议类型,固定值为MMS的ASCII。 4 bytes直到包尾的长度,8比特为单位。包含自身数据域。例如,8bytes,value = 1。 4 bytes序列号。命令是由客户端发向服务器的,序列号的计数从0开始。命令的响应拥有同样的序列号。也就是说序列号就是ECHO。客户端总是发起命令。 8 bytes双精度时间戳,用于网络时序。 4 bytes到包尾的长度,单位为8比特。包括自身。例如,8 bytes ,value = 1。 Comm 2bytes | Dir 2bytes标志命令方向流的值。命令值含义参考MMS命令列表。对于方向域,0x03 =向服务器,0x02 =向客户端。-长度为40比特的命令头到此为止。命令包长度跟在其后,先是prefix 1然后是prefix 2,接下来直到命令包结束都是command specific data。命令指定数据可以是字符串文本Unicode 16bit,或者是raw 8位数据。在prefix数据解说之后可以看到命令特定数据段含义。命令包通常都包括上述内容,最小字节是40。命令包头是作为命令发送的最小包。注意:包长域包括到包末尾所有的padding。01至ServerPrefix 1 f0 f0 f0 f0 -标志(见标志段)Prefix 2 0b 00 04 00Then 1c 00 03 00结构题定义如下。功能:发送初始链接信息,包含播放器的版本号、客户端GUID(随机产生)和要连接的服务器地址。这个命令是在协议初始化之初发送的。它发送本地信息给服务器。Unicode数据字符串由以下信息组成:“NSPlayer/956; 128比特16进制文本客户端GUID ; Host: The.Host.Net” + 0x00 +全零隐藏数据域(可选项)。注意:客户端GUID是随机生成的,具体内容见locally generated GUIDs.Host域为可选字段。只在Media Player 7.0及后续版本中使用。播放器名称必须以 “NSPlayer”开始,如果服务器收到其他名称,将会自动发送名为Upgrade Your Player缺省的电影。这是一个15秒的教你如何升级的电影。在NSPlayer之后可以接任意的东西。例如像/956的版本号。MediaPlayer7.0及后续版本才支持MMS Proxy Server选项。Host域指明实际流媒体服务器的域名或者IP地址,这同是否使用代理并不相关。代理服务器使用这个主机地址连接到流媒体服务器。这就是在7.0以前版本里面没有host域的原因。 01至ClientPrefix 1 00 00 00 00 -错误码Prefix 2 f0 f0 f0 f0 -标志(详见标志段)结构体定义如下:服务器返回诸如服务器软件版本等信息。0b 00 04 00?1c 00 03 00?00 00 00 00 00 00 f0 3f双精值为1内容不详01 00 00 00?01 00 00 00?00 80 00 00?00 00 a0 00?时有为80 96 98 00 = Ww ww ww ww服务器版本字符串长度Xx xx xx xx工具版本字符串长度Yy yy yy yy播放器下载链接长度Zz zz zz zz加密方式字符串长度Unicode字符串长度在结构体中给出。当域不需要时length=0。长度的统计是以两个byte为单位。有趣的是服务器版本低于3.0时,不接受0x32命令。媒体播放器也不会发送这个命令给服务器。准确的说,这个特征在那个版本里还没有实现。 02至ServerPrefix 1 f1 f0 f0 f0 -标志(见标志段)Prefix 2 ff ff ff ffThen 00 00 00 00Then 00 00 a0 00 -未知Then 02 00 00 00 映射包头ID类型(Header PacketIDType)发送传输协议、客户端地址和客户端套接字端口号到服务器。Unicode字符串格式如下:“123.456.789.012TCP1234” + null +可选Unicode数据,如“0”。可选数据:当传输协议使用UDP时可以显示10Bytes的未知数据。Where: 123.456.789.012是客户端IP地址,TCP (或UDP)标志欲是用的传输协议。1234是客户端TCP或UDP套接口端口号。02至ClientPrefix 1 00 00 00 00 -错误码Prefix 2 f1 f0 f0 f0 -标志Then nn nn nn nn - 4 bytes数据长度长度计数单位是4字节,也包括了Length域,所以4Bytes就是1。Then Unicode字符串数据这是协议选择命令0x02的响应数据。文本“Funnel Of The”或Funnel of the gods是常见的数据。这说明协议的选择已经生效。03至ClientPrefix 1 00 00 00 00 -错误码Prefix 2 00 00 00 00由服务器返回,指明协议选择的错误。同时也表示从服务器发向客户端的关闭套接字连接的请求。在这个命令之后连接中断。05至ServerPrefix 1 01 00 00 00 -命令级别Prefix 2 ff ff ff ffThen 8 zeros (未知)或许是双精值Then Unicode数据,下文解析。这条命令请求位于服务器上的文件路径和文件名。这不包含IP或DNS信息,只有媒体的路径和文件名。Unicode数据字符串格式如下:“this/is/the/file/path/on/server/with/filename.ext” + null +未知可选数据如“2C3”注意:文件名后,例如 /filename.asf可以跟随数字签名管理数据。传到服务器的字符串形如:/filename.asf?parameter1, parameter2。就像其他人和.ASP或.JSP Active输入的字符串参数一样,parameter1可以为0,parameter2可以是32bytes的16进制字符串数据。如果媒体文件需要DRM数据,而你并未提供有效的授权字符串,那么访问将被拒绝。在这种情况下,服务器会向客户端发送命令03报告断开连接。并附带licence required错误码.05至ClientPrefix 1 00 00 00 00 -错误码Prefix 2 04 00 00 00 -响应Media PacketIDType值Then下述结构体现在发送媒体数据,包括媒体的播放时间。01 00 00 00未知但是可以改为0或100 00 00 00可能是偏移时间,例如00 00 00 40为2秒00 00 00 00?00 00 00 00?00 00 00 00?Xx xx xx xx单精浮点值,显示文件时间减去缓冲区时间,仅在seek模式有效,其他情况下总为1。06至ClientPrefix 1 00 00 00 00 -错误码Prefix 2 01 00 00 00Then结构体如下功能:答复文件名和路径请求。包括文件数据的包数,包长度和文件播放时间。06命令的数据类似于ASF文件的头信息。一旦媒体在服务器上定位,媒体流的细节和包便被返回。下面是prefix后的结构体信息:01 00 00 00结果标志00 00 00 0000 00 00 0000 00 xx yy广播标志Tt tt tt tt tt tt tt tt双精度文件时间点Ll ll ll ll回放文件的长度(秒为单位),实时则为000 00 00 0000 00 00 0000 00 00 0000 00 00 00Pp pp pp pp媒体包长度,单位byteNn nn nn nn媒体总包数,实时为0x00或0xffffffff00 00 00 00Ss ss ss ss最高流比率值Hh hh hh hh头大小,单位bytesZeros数据结构末尾的40个bytes零数据 07至ServerPrefix 1 01 00 00 00 -命令级别Prefix 2 ff ff 01 00 -或76 04 00 00 #Then结构题描述如下功能:从包xx开始文件播放。这条命令也用以恢复下载或请求丢包。在Seek模式下用来发送播放点。8 bytes双精格式,Seek秒数。4 bytes FF4 bytes包序列号ff ff ff ff从开始播放注意:v9版本中不可用,任何值都是从头开始播放3 bytes最大的流时间限制1 byte允许流限制标志4 bytes Media PacketIDtype4 bytes可选数据#如ff ff ff 7f4 bytes可选数据#如00 00 00 004 bytes可选数据#如ff ff ff 7f4 bytes可选数据#如00 00 00 00 09至ServerPrefix 1 01 00 00 00 -命令级别Prefix 2 ff ff 01 00停止播放,媒体播放器发送这条命令,流停止,保持套接字连接。0A至ClientPrefix 1 00 00 00 00 -错
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 八下记叙文练习题教学总结模版
- 2025年教科版三年级科学上册第四单元水和空气的知识点总结模版
- 大学生职业规划大赛《自动化专业》生涯发展展示
- 邮政银行面试题目及答案
- 银行社保助理面试题目及答案
- 医院会计培训考试试题及答案
- 养老院消防试题及答案
- 邢台计算机中专考试题及答案
- 图录资料增补与修改合作协议
- 生物燃料生产技术转让与产业创新合作合同
- 建设工程质量管理手册范本
- 中国文化遗产资料长城100字
- 高中生物选择性必修1基础背诵 课件
- 中医适宜技术操作规程及评分标准
- 2023-2024学年贵州省六盘水市小学语文六年级期末提升测试题详细参考答案解析
- 江苏南通轨道交通集团有限公司运营分公司社会招聘工作人员考试真题及答案2022
- 颈椎JOA腰椎JOA 评分-表格-日本骨科协会评估治疗
- 人工智能时代小学劳动教育的现实困境与突破路径 论文
- 野生动物管理学智慧树知到答案章节测试2023年东北林业大学
- 国际友人在中国智慧树知到答案章节测试2023年西北大学
- 函数的零点与方程的解(说课稿)
评论
0/150
提交评论