为了改造mimms,我分析了SDP和流媒体服务器的来往包,看看我和他的实现到底存在哪些差异。如果你也开发流媒体下载应用,希望这个分析对你理解 “Microsoft Windows Media Services”协议有帮助。<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

第五对包: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 协议分析 流媒体

转载于:https://www.cnblogs.com/zhengyun_ustc/archive/2005/10/18/mmsprotocol4.html

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

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

    本文转载自: http://www.cnblogs.com/zhengyun_ustc/archive/2006/11/01/256621.html 作者:zhengyun_ustc 转载请注明该声明 ...

  2. MMS流媒体下载原理

    现在网上有很多可以点播的视频节目,大部分是MMS流媒体格式的,文件后缀一般是 WMV 或者ASF.虽然可以直接用 Windows Media Player 9 播放,但是经常会被一次又一次的" ...

  3. 基于Jrtplib的流媒体技术解析

    流媒体指的是在网络中使用流技术传输的连续时基媒体,其特点是在播放前不需要下载整个文件,而是采用边下载边播放的方式,它是视频会议.IP电话等应用场合的技术基础.RTP是进行实时流媒体传输的标准协议和关键 ...

  4. mms流媒体服务器搭建(包含预览即本地播放)

    实现功能说明: 实现服务端与客户端视频文件实时播放功能即直播功能(注:服务端和客户端有延迟),服务端截图如下: 客户端可以使用vlc播放器通过如下地址播放:mms://127.0.0.1:8041(注 ...

  5. JavaWeb实现文件上传下载功能实例解析

    转:http://www.cnblogs.com/xdp-gacl/p/4200090.html JavaWeb实现文件上传下载功能实例解析 在Web应用系统开发中,文件上传和下载功能是非常常用的功能 ...

  6. php正则表达式实例详解,正则表达式实例解析

    正则表达式实例解析 类别: 技术 时间:2016-06-02 10:14:14 字数:6253 版权所有,未经允许,请勿转载,谢谢合作~ ### 前言 正则表达式(regular expression ...

  7. c语言编程实例解析精粹,C语言实例解析精粹学习笔记——35(报数游戏)

    实例35: 设由n个人站成一圈,分别被编号1,2,3,4,--,n.第一个人从1开始报数,每报数位m的人被从圈中推测,其后的人再次从1开始报数,重复上述过程,直至所有人都从圈中退出. 实例解析: 用链 ...

  8. srs流媒体服务器性能,srs流媒体服务器 配置

    srs流媒体服务器 配置 内容精选 换一换 SRS是一款开源流媒体,适合直播以及低延时流媒体领域,但是从来不设限,可以应用在直播.视频会议.在线教育等场景.同时视频领域还有两大块.广电和视频监控,随着 ...

  9. Reactor实例解析

    \ 要点 \\ Reactor是一个运行在Java8之上的响应式流框架,它提供了一组响应式风格的API\\t 除了个别API上的区别,它的原理跟RxJava很相似\\t 它是第四代响应式框架,支持操作 ...

最新文章

  1. 动态链接库的编写与调用
  2. 人的价值不在于能力,而在于位置 » 社区 | Ruby China
  3. 即构科技金健忠:回顾20年音视频技术演进
  4. jooq_jOOQ星期二:拉斐尔·温特豪德(Rafael Winterhalter)正在与字节好友合作字节码...
  5. Xcode中StaticLibrary和Framework的共同点和区别
  6. HBase ACL管理 Hbase 权限管理
  7. java mysql curd_javaweb中为mysql的curd多个值的语句
  8. Python从list删除元素
  9. 板邓:wordpress编辑器发布文章自动首行缩进
  10. 【软技能】完全写作指南--个人博客
  11. Windows安装镜像下载
  12. jemalloc java_jemalloc 5.0.0 全新版本发布,内存分配管理
  13. UCloud成首个通过乌云认证的云计算平台
  14. 1.6.4- 四大名著案例
  15. JSP第四篇【EL表达式介绍、获取各类数据、11个内置对象、执行运算、回显数据、自定义函数、fn方法库】(修订版)...
  16. idea中java文件都不能运行变成橙色文件
  17. cartographer 源码解析 (五)
  18. opencv利用投影法进行水平切割和垂直切割
  19. 我国实战攻防演练的发展现状
  20. 个人PC搭建自己的虚拟服务器

热门文章

  1. 点到直线的投影公式_12分高考答题必刷题型,“空间向量分析点到线的距离问题”...
  2. 浅析网站开发的未来前景如何?
  3. 友情链接优化的技巧分享
  4. 导出jar插件_利用类加载器解决不兼容的Jar包共存的问题
  5. apollo local 模式_Apollo 源码解析 —— 客户端配置 API(一)之一览
  6. 计算机绘画教案风车,中班美术教案《风车》
  7. bootstranp选项卡怎么把每个选项卡里面的表单分开提交_EXCEL 宏应用基础知识,利用已实现的宏,制作自己的功能选项卡...
  8. leetcode 342. Power of Four
  9. 解放你内心的自然领袖,从你的内心而非你的自我来领导你自己
  10. elasticsearch聚合操作——本质就是针对搜索后的结果使用桶bucket(允许嵌套)进行group by,统计下分组结果,包括min/max/avg...