-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.py
37 lines (31 loc) · 1.1 KB
/
server.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import webcam
from werkzeug.wrappers import Request, Response
from pprint import pprint
import detect
import cv2
import numpy as np
import os
import psutil
ssdProtocol = '../MobileNetSSD_deploy.prototxt'
ssdModel = '../MobileNetSSD_deploy.caffemodel'
cam = webcam.webcam('http://192.168.0.109:8081')
#cam = webcam.webcam('http://192.168.0.108/videostream.cgi?user=cam2&pwd=bla%20bla%20cam')
net = detect.loadNet(ssdProtocol, ssdModel)
#cam = webcam.webcam('rtsp://cam3:[email protected]:88/videoMain')
def runCam(cam):
net = detect.loadNet(ssdProtocol, ssdModel)
while true:
frames = cam.getFrame()
for frame in frames:
newFrame = detect.detect(net, frame)
def writeStream():
frames = cam.getFrame()
for frame in frames:
newFrame = detect.detect(net, frame)
yield(cam.prepMultipart(newFrame))
@Request.application
def application(request):
return Response(writeStream(), mimetype='multipart/x-mixed-replace; boundary=frame')
if __name__ == '__main__':
from werkzeug.serving import run_simple
run_simple('192.168.0.114', 4000, application)