Jon Taylor commited on
Commit
e606d44
1 Parent(s): 6776a75

1fps streaming hooray

Browse files
Files changed (2) hide show
  1. app/bot.py +7 -5
  2. app/pipeline.py +5 -5
app/bot.py CHANGED
@@ -86,7 +86,7 @@ class DailyVision(EventHandler):
86
  self.__camera = Daily.create_camera_device("camera",
87
  width = video_frame.width,
88
  height = video_frame.height,
89
- color_format="RGBA")
90
  self.__client.update_inputs({
91
  "camera": {
92
  "isEnabled": True,
@@ -97,6 +97,8 @@ class DailyVision(EventHandler):
97
  })
98
 
99
  def process_frames(self):
 
 
100
  while not self.__app_quit:
101
  # Is anyone watching?
102
  if not self.__idle and len(self.__client.participants()) < 2:
@@ -113,16 +115,16 @@ class DailyVision(EventHandler):
113
 
114
  if video_frame:
115
  image = Image.frombytes("RGBA", (video_frame.width, video_frame.height), video_frame.buffer)
116
- #result = self.__pipeline(image)
 
117
  #pil = Image.fromarray(result.render()[0], mode="RGB").tobytes()
118
-
119
- self.__camera.write_frame(image.tobytes())
120
  except queue.Empty:
121
  pass
122
 
123
  def on_video_frame(self, participant_id, video_frame):
124
  # Process ~15 frames per second (considering incoming frames at 30fps).
125
- if time.time() - self.__time > 0.05:
126
  self.__time = time.time()
127
  self.setup_camera(video_frame)
128
  self.__queue.put(video_frame)
 
86
  self.__camera = Daily.create_camera_device("camera",
87
  width = video_frame.width,
88
  height = video_frame.height,
89
+ color_format="RGB")
90
  self.__client.update_inputs({
91
  "camera": {
92
  "isEnabled": True,
 
97
  })
98
 
99
  def process_frames(self):
100
+ params = Pipeline.InputParams()
101
+
102
  while not self.__app_quit:
103
  # Is anyone watching?
104
  if not self.__idle and len(self.__client.participants()) < 2:
 
115
 
116
  if video_frame:
117
  image = Image.frombytes("RGBA", (video_frame.width, video_frame.height), video_frame.buffer)
118
+ result_image = self.__pipeline.predict(params, image).convert("RGB")
119
+ self.__camera.write_frame(result_image.tobytes())
120
  #pil = Image.fromarray(result.render()[0], mode="RGB").tobytes()
121
+ #self.__camera.write_frame(result_image.tobytes())
 
122
  except queue.Empty:
123
  pass
124
 
125
  def on_video_frame(self, participant_id, video_frame):
126
  # Process ~15 frames per second (considering incoming frames at 30fps).
127
+ if time.time() - self.__time > 1: #0.05:
128
  self.__time = time.time()
129
  self.setup_camera(video_frame)
130
  self.__queue.put(video_frame)
app/pipeline.py CHANGED
@@ -51,10 +51,10 @@ class Pipeline:
51
  1, min=1, max=15, title="Steps", field="range", hide=True, id="steps"
52
  )
53
  width: int = Field(
54
- 512, min=2, max=15, title="Width", disabled=True, hide=True, id="width"
55
  )
56
  height: int = Field(
57
- 512, min=2, max=15, title="Height", disabled=True, hide=True, id="height"
58
  )
59
  guidance_scale: float = Field(
60
  1.0,
@@ -181,8 +181,8 @@ class Pipeline:
181
 
182
  self.pipe(
183
  prompt="warmup",
184
- image=[Image.new("RGB", (768, 768))],
185
- control_image=[Image.new("RGB", (768, 768))],
186
  )
187
 
188
  def predict(self, params: "Pipeline.InputParams", image) -> Image.Image:
@@ -222,7 +222,7 @@ class Pipeline:
222
  return None
223
  result_image = results.images[0]
224
 
225
- if os.getenv("CONTROL_NET_OVERLAY"):
226
  # paste control_image on top of result_image
227
  w0, h0 = (200, 200)
228
  control_image = control_image.resize((w0, h0))
 
51
  1, min=1, max=15, title="Steps", field="range", hide=True, id="steps"
52
  )
53
  width: int = Field(
54
+ 640, min=2, max=15, title="Width", disabled=True, hide=True, id="width"
55
  )
56
  height: int = Field(
57
+ 480, min=2, max=15, title="Height", disabled=True, hide=True, id="height"
58
  )
59
  guidance_scale: float = Field(
60
  1.0,
 
181
 
182
  self.pipe(
183
  prompt="warmup",
184
+ image=[Image.new("RGB", (640, 480))],
185
+ control_image=[Image.new("RGB", (640, 480))],
186
  )
187
 
188
  def predict(self, params: "Pipeline.InputParams", image) -> Image.Image:
 
222
  return None
223
  result_image = results.images[0]
224
 
225
+ if os.getenv("CONTROL_NET_OVERLAY", True):
226
  # paste control_image on top of result_image
227
  w0, h0 = (200, 200)
228
  control_image = control_image.resize((w0, h0))