Как использовать cv2.VideoCapture для получения tello udp stream - PullRequest
1 голос
/ 15 января 2020

Я пытался использовать cv2.VideoCapture для получения потока телло, но на этом шаге он всегда останавливается capture = cv2.VideoCapture ('udp:/0.0.0.0:11111',cv2.CAP_FFMPEG)

import socket
import time
import cv2

tello_ip = '192.168.10.1'
tello_port = 8889
tello_address = (tello_ip, tello_port)
mypc_address = (host, port)
socket = socket.socket (socket.AF_INET, socket.SOCK_DGRAM)
socket.bind (mypc_address)
socket.sendto ('command'.encode (' utf-8 '), tello_address)
socket.sendto ('streamon'.encode (' utf-8 '), tello_address)
print ("Start streaming")
capture = cv2.VideoCapture ('udp:/0.0.0.0:11111',cv2.CAP_FFMPEG)
if not capture.isOpened():
    capture.open('udp:/0.0.0.0:11111')

while True:
    ret, frame =capture.read()
    print(ret)
    if(ret):
        cv2.imshow('frame', frame)
    if cv2.waitKey (1)&0xFF == ord ('q'):
        break
capture.release ()
cv2.destroyAllWindows ()
socket.sendto ('streamoff'.encode (' utf-8 '), tello_address)

1 Ответ

2 голосов
/ 22 февраля 2020

После «udp:» должно быть две косые черты вместо одной.

Как: «udp: //0.0.0.0: 11111 '

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...