Я сейчас пишу программу, которая подключается к камере с помощью RTSP. Скрипт python использует pycurl.
Мне удалось заставить работать OPTIONS и DESCRIBE. Однако SETUP не работает.
> Choose request or command: SETUP
* Found bundle for host 192.168.0.60: 0x7f8e70a0b650 [can pipeline]
* Re-using existing connection! (#0) with host 192.168.0.60
* Connected to 192.168.0.60 (192.168.0.60) port 554 (#0)
> SETUP * RTSP/1.0
CSeq: 3
Transport: RTP/AVP;unicast;client_port=38274-38275
User-Agent: LibVLC/3.0.8 (LIVE555 Streaming Media v2018.02.18)
Accept: */*
< RTSP/1.0 400 Bad Request
< Allow: OPTIONS, DESCRIBE, SETUP, TEARDOWN, PLAY, PAUSE, GET_PARAMETER, SET_PARAMETER,USER_CMD_SET
<
* The CSeq of this request 3 did not match the response 0
* Connection #0 to host 192.168.0.60 left intact
Traceback (most recent call last):
File "/Volumes/DATA/htdocs/forensik/forensik_curl/venv/curl.py", line 209, in <module>
rtsp.handle(cmd)
File "/Volumes/DATA/htdocs/forensik/forensik_curl/venv/curl.py", line 99, in handle
self.sendRequest(pycurl.RTSPREQ_SETUP, header)
File "/Volumes/DATA/htdocs/forensik/forensik_curl/venv/curl.py", line 53, in sendRequest
self.crl.perform()
pycurl.error: (85, 'The CSeq of this request 3 did not match the response 0')
* Closing connection 0
Я думаю, проблема в том, что в пути запроса есть подстановочный знак *
SETUP * RTSP/1.0
Чтобы установить URL-адрес используйте
pycrl.setopt (pycrl.URL, rtsp: //192.168.0.60: 554 / onvif1)
Есть идеи, что я могу сделать?
Заранее спасибо!