That's less than a slow DSL line. For comparison, a 640x480 MJPEG stream at quality 50 might require 50–100 KB per frame (20× larger), saturating Wi-Fi buffers immediately.
cap = cv2.VideoCapture(0) while True: ret, frame = cap.read() frame = cv2.resize(frame, (160, 128)) # Force to 160x128 ret, jpeg = cv2.imencode('.jpg', frame, [cv2.IMWRITE_JPEG_QUALITY, 50]) self.wfile.write(b'--frame\r\n') self.wfile.write(b'Content-Type: image/jpeg\r\n\r\n') self.wfile.write(jpeg.tobytes()) self.wfile.write(b'\r\n') time.sleep(0.1) # ~10 FPS mjpeg 160-128
Standard resolutions include:
import cv2 from http.server import HTTPServer, BaseHTTPRequestHandler import time That's less than a slow DSL line