Python OpenCV установил тайм-аут для VideoCapturePython

Программы на Python
Ответить
Anonymous
 Python OpenCV установил тайм-аут для VideoCapture

Сообщение Anonymous »

Пытаемся установить максимальное время ожидания для VideoCapture, чтобы перехватить исключение и распечатать сообщение, если поток не работает. Например, мне нужно попробовать в течение 10 секунд, а затем предположить, что поток отключен. На данный момент у меня есть следующий код.
import cv2

try:
cap = cv2.VideoCapture("rtsp://Username:Password@IP_ADDRESS:PORT")
print("Stream found.")
cap.release()
cv2.destroyAllWindows()
except:
# It actually never reaches the exception
print("Stream not found.")

Изменить: попытался упростить ответ ниже, и он вроде как работает, как и ожидалось, но все равно имеет собственное решение о тайм-ауте.
import cv2
import time

try:
cap = cv2.VideoCapture("rtsp://DNA:DNA2020!@98.173.8.28:5514")
try:
success, video_frame = cap.read()
if success:
print('Frame read')
else:
print('No frame read')
except cv2.error as e:
print(f'CV2 Exception: {str(e)}')

cap.release()
except:
print("Stream not found.")


Подробнее здесь: https://stackoverflow.com/questions/742 ... deocapture
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»