import time
import cv2
def _gst_str_mjpeg(id):
return 'v4l2src device=/dev/video{} io-mode=2 ! image/jpeg, width=1280, height=720, format=MJPG ! jpegdec ! videoscale ! video/x-raw, width=400, height=200 ! videoconvert ! video/x-raw, width=400, height=200 ! appsink'.format(id)
cap = []
for i in range(2):
cap.insert(i,cv2.VideoCapture(_gst_str_mjpeg(i), cv2.CAP_GSTREAMER))
count = [0,0]
start_time = [time.time(), time.time()]
now = [time.time(), time.time()]
while(True):
for i in range(len(cap)):
ret, frame = cap[i].read()
if ret == 1:
count[i] += 1
now[i] = time.time()
cv2.imshow('usb camera {}'.format(i),frame)
if now[i] - start_time[i] > 1.0:
print("camera {} fps: {}".format(i, count[i]))
count[i] = 0
start_time[i] = now[i]
if cv2.waitKey(1) & 0xFF == ord('q'):
break
for i in range(len(cap)):
cap[i].release()
cv2.destroyAllWindows()