2012-02-17 10 views
0

MS-RTSPプロトコル に基づいてストリーミングデータを処理するプログラムで作業しています。これまでのところ、RTSPによってUDPパケットを取得しています。ASF RTPパケットをビデオデータに変換するRTSP

問題は - 私はUDPパケットをビデオデータに変換することができません。

私は、MS-RTSP-SPEC、RFC-2326およびMS-ASF-仕様書、

を持っているしかし、私は 'ASFペイロードヘッダと圧縮メディアデータ'

を行うデータ構造の種類見当がつかないデータに続いて

MS-RTSP DOCUMENT

はRTP接続から受信したパケットの1、

であると私は、このMS-ASF-SPEC文書の一部は、「ASFペイロードヘッダと圧縮メディアデータ」の説明を持っている見当がつかない

MS-ASF-SPECIFICATION DOCUMENT

Microsoftが彼らのConferenceXPパッケージでこれを実装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

私を助けてください。ここのものをダウンロードしてください:

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

その後MSR.LST.Net.RtpアセンブリからRtpStream/RtpPacketのものを引き離すために、お気に入りの.NET逆アセンブラを使用しています。あるいは、データを扱うためにクラスを使用することもできます。