[流媒体]实例解析MMS流媒体协议,下载LiveMediaVideo[4]

为了改造mimms,我分析了SDP和流媒体服务器的来往包,看看我和他的实现到底存在哪些差异。如果你也开发流媒体下载应用,希望这个分析对你理解 “Microsoft Windows Media Services”协议有帮助。

 

第五对包:client to server 请求header


 第五回合之第1个包:to server;Len=88:


0030                      01 00 00 00 ce fa 0b b0 48 00  ..j...........H.

0040   00 00 4d 4d 53 20 09 00 00 00 04 00 00 00 00 00  ..MMS ..........

0050   00 00 00 00 00 00 07 00 00 00 15 00 03 00 01 00  ................

0060   00 00 00 00 00 00 00 00 00 00 00 80 00 00 ff ff  ................

0070   ff ff 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

0080   00 00 00 20 ac 40 02 00 00 00 00 00 00 00        ... .@........

 

包头”解释:

l         “01 00 00 00 ce fa 0b b0”是服务器端向客户端发包的“BOOB FACE”固定开头。以后你会看到每一个包都是如此开头的。8字节。

l         略

l         15 00 03 00”, 指的是“Comm 2 bytes | Dir 2 bytes”。15 00是Command数值,就是命令15。03 00是Direction数值,这里的0x03指明客户端发往服务器。4字节。

 

在“15 00 03 00”之后,就是这个包的Body了。



“包体”解释:

l         “01 00 00 00”,Command Level。4字节。

l         “00 00 00 00”,标志。4字节。之后就是数据结构了。

l         “00 00 00 00”,4个0。

l         “00 80 00 00”,说明连带自己共8个字段。

l         “ff ff ff ff”,不知道。

l         “00 00 00 00”,有可能是其他数值。

l         “00 00 00 00 00 00 00 00”。

l         “00 00 00 00 00 20 ac 40”,可能是媒体的什么毫秒数。

l         “02 00 00 00”,Header Packet ID type,用在mms pre-headers。

第五对包:server to client 发送header


 第五回合之第2个包:to client;Len=56:


0030                     01 00 00 00 ce fa 0b b0 28 00  .O:...........(.

0040   00 00 4d 4d 53 20 05 00 00 00 06 00 00 00 73 00  ..MMS ........s.

0050   70 00 3a 00 2f 00 03 00 00 00 11 00 04 00 00 00  p.:./...........

0060   00 00 02 00 00 00 00 00 00 00 46 00 75 00        ..........F.u.

 

包头”解释:

l         “01 00 00 00 ce fa 0b b0”是服务器端向客户端发包的“BOOB FACE”固定开头。以后你会看到每一个包都是如此开头的。8字节。

l         略

l         11 00 04 00”, 指的是“Comm 2 bytes | Dir 2 bytes”。11 00是Command数值。04 00是Direction数值,这里的0x04指明服务器发往客户端。4字节。

 

在“11 00 04 00”之后,就是这个包的Body了。



“包体”解释:

l         “00 00 00 00”,错误号。

l         “02 00 00 00”,上一个包传过来的Header Packet ID Type。

l         “00 00 00 00”。

l         “46 00 75 00”,也许会是00 00 00 00,不知道何用。

 

第六回合包:server to client 发送asf真实数据


 第六回合之第1个包:to client;Len=800:


0030                     00 00 00 00 02 04 20 03 30 26  .O'......... .0&

0040   b2 75 8e 66 cf 11 a6 d9 00 aa 00 62 ce 6c e4 08  .u.f.......b.l..

0050   00 00 00 00 00 00 06 00 00 00 01 02 ce 75 f8 7b  .............u.{

0060   8d 46 d1 11 8d 82 00 60 97 c9 a2 b2 20 00 00 00  .F.....`.... ...

0070   00 00 00 00 01 00 01 00 8e 10 01 00 a1 dc ab 8c  ................

0080   47 a9 cf 11 8e e4 00 c0 0c 20 53 65 68 00 00 00  G........ Seh...

0090   00 00 00 00 1b 8c fa 8c 59 c8 16 4b 85 2f ac 87  ........Y..K./..

00a0   f4 b8 59 bd 16 09 00 00 00 00 00 00 70 4f ab 48  ..Y.........pO.H

00b0   1e d0 c5 01 ff ff ff ff 00 00 00 00 00 00 00 00  ................

00c0   00 00 00 00 00 00 00 00 00 00 00 00 88 13 00 00  ................

00d0   00 00 00 00 09 00 00 00 20 03 00 00 20 03 00 00  ........ ... ...

00e0   8e 10 01 00 b5 03 bf 5f 2e a9 cf 11 8e e3 00 c0  ......._........

00f0   0c 20 53 65 b1 06 00 00 00 00 00 00 11 d2 d3 ab  . Se............

0100   ba a9 cf 11 8e e6 00 c0 0c 20 53 65 06 00 83 06  ......... Se....

0110   00 00 a9 46 43 7c e0 ef fc 4b b2 29 39 3e de 41  ...FC|...K.)9>.A

0120   5c 85 27 00 00 00 00 00 00 00 01 00 0c 7a 00 68  \.'..........z.h

0130   00 2d 00 63 00 6e 00 00 00 cb a5 e6 14 72 c6 32  .-.c.n.......r.2

0140   43 83 99 a9 69 52 06 5b 5a 58 00 00 00 00 00 00  C...iR.[ZX......

0150   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

0160   00 00 fa 00 00 88 13 00 00 00 00 00 00 00 fa 00  ................

0170   00 88 13 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

0180   00 01 00 00 00 2a 2c 0a 00 00 00 00 00 00 00 00  .....*,.........

0190   00 5d 8b f1 26 84 45 ec 47 9f 5f 0e 65 1f 04 52  .]..&.E.G._.e..R

01a0   c9 1a 00 00 00 00 00 00 00 02 01 ea cb f8 c5 af  ................

01b0   5b 77 48 84 67 aa 8c 44 fa 4c ca 80 00 00 00 00  [wH.g..D.L......

01c0   00 00 00 02 00 00 00 01 00 0c 00 02 00 02 00 00  ................

01d0   00 49 00 73 00 56 00 42 00 52 00 00 00 00 00 00  .I.s.V.B.R......

01e0   00 01 00 34 00 00 00 0c 00 00 00 44 00 65 00 76  ...4.......D.e.v

01f0   00 69 00 63 00 65 00 43 00 6f 00 6e 00 66 00 6f  .i.c.e.C.o.n.f.o

0200   00 72 00 6d 00 61 00 6e 00 63 00 65 00 54 00 65  .r.m.a.n.c.e.T.e

0210   00 6d 00 70 00 6c 00 61 00 74 00 65 00 00 00 4d  .m.p.l.a.t.e...M

0220   00 50 00 40 00 4c 00 4c 00 00 00 74 d4 06 18 df  .P.@.L.L...t....

0230   ca 09 45 a4 ba 9a ab cb 96 aa e8 6a 05 00 00 00  ..E........j....

0240   00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  ................

 

包头”解释:

l         “01 00 00 00 ce fa 0b b0”是服务器端向客户端发包的“BOOB FACE”固定开头。以后你会看到每一个包都是如此开头的。8字节。

l         “30 26 b2 75 8e 66 cf 11  a6 d9 00 aa 00 62 ce 6c”,不管什么时候,我们在ASF数据流中看到这样的GUID,就知道后面跟的是一个header了。你打开一个本地的asf文件,也会看到这样的GUID。我们称之为“header chunk object”。他很像是一种header标记,表明某类型的数据。

l         略

l         a1 dc ab 8c 47 a9 cf 11 8e e4 00 c0 0c 20 53 65”, 指的是“File Header Object”,这个重要的object包含了文件属性和包。

 


编写者


日期


关键词


郑昀@ultrapower


2005-10-17


mms streaming protocol

ethereal 协议分析 流媒体

时间: 2024-12-10 11:10:26

[流媒体]实例解析MMS流媒体协议,下载LiveMediaVideo[4]的相关文章

[流媒体]实例解析MMS流媒体协议,下载LiveMediaVideo[2]

[流媒体]按照MMS协议和MS Media Server交互 下载实时交通录像的包分析[2]   编写者 日期 关键词 郑昀@ultrapower 2005-10-17 mms streaming protocol  ethereal 协议分析 流媒体          通过mms://220.194.63.17/cebeijing8,我们可以看到交通部门设置在北京西直门上的摄像头的实时录像,从而了解西直门的交通状况.        但是,要是想下载这个流媒体到本地的话,我试验了asfr+.AS

[流媒体]实例解析MMS流媒体协议,下载LiveMediaVideo[1][修正版,增加了带宽测试包]

[流媒体]按照MMS协议和MS Media Server交互 下载实时交通录像的包分析   编写者 日期 关键词 郑昀@ultrapower 2005-10-17 mms streaming protocol ethereal 协议分析 流媒体          通过mms://220.194.63.17/cebeijing8,我们可以看到交通部门设置在北京西直门上的摄像头的实时录像,从而了解西直门的交通状况.        但是,要是想下载这个流媒体到本地的话,我试验了asfr+.ASF Re

[流媒体]实例解析MMS流媒体协议,下载LiveMediaVideo[3]

[流媒体]按照MMS协议和MS Media Server交互 下载实时交通录像的包分析[3]   编写者 日期 关键词 郑昀@ultrapower 2005-10-17 mms streaming protocol ethereal 协议分析 流媒体          通过mms://220.194.63.17/cebeijing8,我们可以看到交通部门设置在北京西直门上的摄像头的实时录像,从而了解西直门的交通状况.        但是,要是想下载这个流媒体到本地的话,我试验了asfr+.ASF

求救 网站播放器 播放 mms://流媒体 的问题

问题描述 为什么系统安装了wmp11播放器!就不能播放mms://流媒体的文件了 解决方案 解决方案二:安个影音风暴的插件解决方案三:看看...解决方案四:MediaPlayer11已经放弃MMS流,微软的网站有说,如果你用VISTA那就看不了WAV格式的电视剧,我原来也查过这个问题,至今无法解决.解决方案五:现在我要做网站要播放的视频都是mms地址的这个问题必须解决呀要不然无法交差!各位大哥大姐救救小第呀解决方案六:限制版本必须装MediaPlayer11以下版本贝或者用其它播放器解决方案七:

实例解析IPv6环境下的网络编程

自IPv4诞生至今已有20多年了,目前它虽仍因互联网的成功而风光无限,但是如同"Internet正在成为其自身巨大成功的受害者"一样,目前IPv4地址的极度匮乏注定它将被历史所淘汰.而IPv6-IPv4的继承人,具有地址空间巨大,支持QOS等许多优良特性,在不久的将来会迅速的普及,但IPv6的出现将对目前网络编程方式产生一定的影响. 本文将就IPv6环境下的网络编程方式进行实例解析. 最终效果: 实例解析IPv6环境下的网络编程-配置篇 目前我们所用的IP协议是v4版本的, 比如192

Java Web开发入门书籍实例解析(总结一)_java

一.基本概念 1.1.WEB开发的相关知识 WEB,在英语中web即表示网页的意思,它用于表示Internet主机上供外界访问的资源. Internet上供外界访问的Web资源分为: 1.静态web资源(如html 页面):指web页面中供人们浏览的数据始终是不变. 2.动态web资源:指web页面中供人们浏览的数据是由程序产生的,不同时间点访问web页面看到的内容各不相同. 静态web资源开发技术:Html 常用动态web资源开发技术:JSP/Servlet.ASP.PHP等 在Java中,动

续实例解析SOCKET编程模型之异步通信篇(上)

编程|异步 .NET 框架的 Socket 类实际上是 Winsock32 API 提供的套接字服务的托管代码版本.其中Socket 类为网络通信提供了一套丰富的方法和属性,大多数情况下,Socket 类方法只是将数据封送到它们的本机Win32 副本中并处理任何必要的安全检查.Socket 类允许使用 ProtocolType 枚举中所列出的任何一种协议执行异步和同步数据传输.Socket 类遵循异步方法的 .NET Framework 命名模式:例如,同步 Receive 方法对应于异步 Be

springMVC4(10)强大类型转换器实例解析

在<springMVC4(9)属性编辑器剖析入参类型转换原理 >一文中,我们通过分析Sping内置的属性编辑器来理解springMVC是如何完成请求参数到入参的类型的转换的.而在新版本中,SpringMVC使用了新的架构来完成类型转换的工作,而且它的工作更加强大,支持格式化参数输入输出,它的另一个实例可见我的另一篇文章<springMVC4(4)json与对象互转实例解析请求响应数据转换器>.在文中,我们使用了Spring内置的格式转换器完成了服务端输入输出过程中json字符串与j

实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作

Docker内部数据管理和Docker之间的数据共享为数据卷和数据卷容器,实例解析1.将本地的文件作为容器的数据卷,2.数据卷flocker插件实现容器集群(或者Docker Swarm)的数据共享3.数据卷容器作为其他容器的数据卷.降低磁盘开销.4.数据的备份,恢复和迁移.5.Docker hub的常用操作. 1.0.数据卷(Data volumes) Data volumes是一个或者多个容器特别指定的目录,它区别于联合文件系统的(Union File System,或称UnionFS,通过