RTSP将ASF RTP-Packets转换为视频数据

时间:2012-02-17 05:50:24

标签: c# rtsp rtp asf

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

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

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

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

MS-RTSP DOCUMENT

以下数据是来自RTP连接的接收数据包之一

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

MS-ASF-SPECIFICATION DOCUMENT

请帮帮我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

1 个答案:

答案 0 :(得分:1)

Microsoft在ConferenceXP包中实现了这一点。在这里下载内容:

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

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