Python | pycurl отправляет подстановочный знак как путь - PullRequest
0 голосов
/ 14 июля 2020

Я сейчас пишу программу, которая подключается к камере с помощью 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)

Есть идеи, что я могу сделать?

Заранее спасибо!

...