Существует осевая камера, которая подключена к нашему сайту (camba.tv) через компонент подключения одним щелчком мыши (который действует как прокси). Мы можем общаться с этой камерой только через http, установив прокси на адрес нашего сервера OCCC. Если мы хотим получить потоки RTSP (h.264), у нас остается только опция "RTSP over HTTP". Для этого я следовал оси VAPIX 3 документации раздел 3.3. Я выдаю запросы через фиддлер, но не получаю никакого ответа. Но когда я помещаю URL-адрес (axrtsphttp://1.00408CBEA38B/axis-media/media.amp) в проигрыватель Windows Media (с прокси-сервером, установленным на сервере OCCC 212.78.237.156:3128), проигрыватель может получить поток RTSP через HTTP после Вход в систему. Я создал запрос трассировки связи между камерой и Windows Media Player через Wireshark и запрос, который приносит поток выглядит
http://1.00408cbea38b/axis-media/media.amp HTTP/1.1
x-sessioncookie: 619
User-Agent: Axis AMC
Host: 1.00408CBEA38B
Proxy-Connection: Keep-Alive
Pragma: no-cache
Authorization: Digest username="root",realm="AXIS_00408CBEA38B",nonce="000a8b40Y0100409c13ac7e6cceb069289041d8feb1691",uri="/axis-media/media.amp",cnonce="9946e2582bd590418c9b70e1b17956c7",nc=00000001,response="f3cab86fc84bfe33719675848e7fdc0a",qop="auth"
HTTP/1.0 200 OK
Content-Type: application/x-rtsp-tunnelled
Date: Tue, 02 Nov 2010 11:45:23 GMT
RTSP/1.0 200 OK
CSeq: 1
Content-Type: application/sdp
Content-Base: rtsp://1.00408CBEA38B/axis-media/media.amp/
Date: Tue, 02 Nov 2010 11:45:23 GMT
Content-Length: 410
v=0
o=- 1288698323798001 1288698323798001 IN IP4 1.00408CBEA38B
s=Media Presentation
e=NONE
c=IN IP4 0.0.0.0
b=AS:50000
t=0 0
a=control:*
a=range:npt=0.000000-
m=video 0 RTP/AVP 96
b=AS:50000
a=framerate:30.0
a=transform:1,0,0;0,1,0;0,0,1
a=control:trackID=1
a=rtpmap:96 H264/90000
a=fmtp:96 packetization-mode=1; profile-level-id=420029; sprop-parameter-sets=Z0IAKeNQFAe2AtwEBAaQeJEV,aM48gA==
RTSP/1.0 200 OK
CSeq: 2
Session: 3F4763D8; timeout=60
Transport: RTP/AVP/TCP;unicast;interleaved=0-1;ssrc=060922C6;mode="PLAY"
Date: Tue, 02 Nov 2010 11:45:24 GMT
RTSP/1.0 200 OK
CSeq: 3
Session: 3F4763D8
Range: npt=0-
RTP-Info: url=rtsp://1.00408CBEA38B/axis-media/media.amp/trackID=1;seq=7392;rtptime=4190934902
Date: Tue, 02 Nov 2010 11:45:24 GMT
[Binary Stream Content]
Но когда я копирую этот запрос в fiddler, я получаю только 200 кодов состояния с типом контента, установленным в application/x-rtsp-tunneled, и потоковых данных нет. Единственное, что я делаю с потоком, я использую Basic
в заголовке авторизации вместо Digest
и я не получаю 401 (не авторизованный) код состояния. Кто-нибудь может объяснить, что здесь происходит? Как я могу написать последовательность запросов, чтобы получить поток в Fiddler? Если это необходимо, я могу загрузить дамп запроса Wireshark где-нибудь.