[DIY 스마트팜] 파이썬 Flask + MJPEG + Cloudflare Tunnel을 이용한 간이 실시간 CCTV 구축
개요 USB 웹캠이 연결된 PC에서 영상을 캡처하여 Flask 서버를 통해 MJPEG 스트리밍으로 제공하고, Cloudflare Tunnel을 이용하여 외부에서 휴대폰으로 실시간 확인할 수 있는 간이 CCTV 시스템을 구축한다. 특징: 무료 포트포워딩 불필요 공인 IP 불필요 공유기 설정 불필요 별도 앱 설치 불필요 웹 브라우저만 있으면 접속 가능 거의 실시간 영상 확인 가능 시스템 구성 USB Webcam ↓ OpenCV ↓ Flask MJPEG Server ↓ localhost:8000 ↓ Cloudflare Tunnel ↓ https://xxxxx.trycloudflare.com ↓ 휴대폰 브라우저 프로젝트 폴더 구조 camera_server/ └── camera_server.py 필요 패키지 설치 pip install flask pip install opencv-python 확인: python -c "import cv2; print(cv2.__version__)" CCTV 서버 코드 from flask import Flask, Response import cv2 from datetime import datetime app = Flask(__name__) cap = cv2.VideoCapture(0) if not cap.isOpened(): raise RuntimeError("카메라 열기 실패") # Logitech C525 권장 설정 cap.set(cv2.CAP_PROP_FRAME_WIDTH, 640) cap.set(cv2.CAP_PROP_FRAME_HEIGHT, 480) def generate_frames(): while True: success, frame = cap.read() if not success: continue timestamp = datetime.now().str...