-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathVideoStreaming_Camera_Mock.py
63 lines (54 loc) · 1.91 KB
/
VideoStreaming_Camera_Mock.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
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
class VideoStreaming():
webPage ="""\
<html>
<head>
<title>Serosa Video Streaming</title>
</head>
<body>
<h1>PiCamera MJPEG Streaming Demo</h1>
<img src="stream.mjpg" width="$srcWidth$" height="$srcHeight$" />
</body>
</html>
"""
resolution = '640x480'
srcWidth = '???'
srcHeight = '???'
framerate = 24
format = 'mjpeg'
camera = None
address = None
server = None
serverPort = 8000
currentlyStreaming = False
def __init__(self, resolution='640x480', framerate=24, serverPort=8000):
print(' ...Initializing "' + str(self) + '"...')
self.resolution = resolution
self.framerate = framerate
self.serverPort = serverPort
screenDimensions = resolution.split('x')
self.srcWidth = screenDimensions[0]
self.srcHeight = screenDimensions[1]
self.webPage = self.webPage.replace('$srcWidth$', self.srcWidth)
self.webPage = self.webPage.replace('$srcHeight$', self.srcHeight)
def startStreaming(self):
self.currentlyStreaming = True
def stopStreaming(self):
self.currentlyStreaming = False
def setActuatorState(self, value):
if str(value) == "start":
if self.currentlyStreaming == False:
self.startStreaming()
if str(value) == "stop":
if self.currentlyStreaming == True:
self.stopStreaming()
return{ 'Port' : self.serverPort,
'Resolution' : self.resolution,
'Framerate' : self.framerate,
'Format' : self.format,
'Streaming' : self.currentlyStreaming}
def getCurrentState(self):
return{ 'Port' : self.serverPort,
'Resolution' : self.resolution,
'Framerate' : self.framerate,
'Format' : self.format,
'Streaming' : self.currentlyStreaming}