0

我正在开发一个基于 MS-RTSP 协议处理流数据的程序,到目前为止它运行良好,通过 RTSP 获取 UDP 数据包。

问题是 - 我无法将 UDP 数据包转换为视频数据。

我有 MS-RTSP-SPEC、RFC-2326 和 MS-ASF-SPECIFICATION 文档,

但我不知道“ASF 有效负载标头和压缩媒体数据”是什么样的数据结构

MS-RTSP 文件

以下数据是从 RTP 连接接收到的数据包之一,

而且我不知道这个 MS-ASF-SPEC 文档的哪一部分解释了“ASF 有效负载标头和压缩媒体数据”

MS-ASF 规范文件

请帮我QQ

Message Log

::first Packet
==RTP Header==
00 = 128 096 059 199 000 000 000 000 006 072 087 109

==RTP Payload format Header==
00 = 128 000 000 000
S=True L=False R=False D=False I=False RES=0 LENGTH=0

==ASF Data packet Header==
00 = 130 000 000 009 093 000 000 000 000 000 000 000

==ASF payload headers and compressed media data==
00 = 131 130 001 000 000 000 000 010 026 001 000 000 184 011 000 000
01 = 041 000 026 001 000 008 016 048 060 087 225 225 222 023 133 225
02 = 120 094 023 133 225 120 094 023 133 225 120 094 023 133 225 120
03 = 094 023 133 225 120 094 023 133 225 120 094 023 133 225 120 094
04 = 023 133 225 120 094 023 133 225 120 094 023 133 225 120 094 023
 ...
45 = 211 227 138 112 047 081 032 192 234 137 112


::second Packet
==RTP Header==
00 = 128 224 059 200 000 000 000 000 006 072 087 109

==RTP Payload format Header==
00 = 128 000 002 247
S=True L=False R=False D=False I=False RES=0 LENGTH=759

==ASF Data packet Header==
00 = 088 009 135 027 150 032 101 060 144 095 176 022

==ASF payload headers and compressed media data==
00 = 045 096 089 208 024 094 230 135 137 246 055 245 023 109 003 128
01 = 008 243 194 154 187 080 155 234 249 117 095 023 070 136 140 081
02 = 176 175 040 219 021 248 092 231 166 111 200 153 103 223 156 114
03 = 062 050 010 096 205 196 048 116 121 052 095 073 177 008 122 180
04 = 022 078 008 140 224 142 132 220 040 144 226 088 099 177 189 244
 ...
45 = 173 184 024 007 238 195 035 015 012 125 041
4

1 回答 1

1

微软在他们的 ConferenceXP 包中实现了这一点。在这里下载东西:

http://research.microsoft.com/en-us/projects/conferencexp/

然后使用您最喜欢的 .NET 反汇编程序将 RtpStream/RtpPacket 内容从 MSR.LST.Net.Rtp 程序集中分离出来。或者您可以使用他们的类来处理您的数据。

于 2012-04-09T14:59:04.933 回答