MCPcopy Create free account
hub / github.com/TMElyralab/MuseTalk / process_frames

Method process_frames

scripts/realtime_inference.py:212–236  ·  view source on GitHub ↗
(self, res_frame_queue, video_len, skip_save_images)

Source from the content-addressed store, hash-verified

210 torch.save(self.input_latent_list_cycle, os.path.join(self.latents_out_path))
211
212 def process_frames(self, res_frame_queue, video_len, skip_save_images):
213 print(video_len)
214 while True:
215 if self.idx >= video_len - 1:
216 break
217 try:
218 start = time.time()
219 res_frame = res_frame_queue.get(block=True, timeout=1)
220 except queue.Empty:
221 continue
222
223 bbox = self.coord_list_cycle[self.idx % (len(self.coord_list_cycle))]
224 ori_frame = copy.deepcopy(self.frame_list_cycle[self.idx % (len(self.frame_list_cycle))])
225 x1, y1, x2, y2 = bbox
226 try:
227 res_frame = cv2.resize(res_frame.astype(np.uint8), (x2 - x1, y2 - y1))
228 except:
229 continue
230 mask = self.mask_list_cycle[self.idx % (len(self.mask_list_cycle))]
231 mask_crop_box = self.mask_coords_list_cycle[self.idx % (len(self.mask_coords_list_cycle))]
232 combine_frame = get_image_blending(ori_frame,res_frame,bbox,mask,mask_crop_box)
233
234 if skip_save_images is False:
235 cv2.imwrite(f"{self.avatar_path}/tmp/{str(self.idx).zfill(8)}.png", combine_frame)
236 self.idx = self.idx + 1
237
238 @torch.no_grad()
239 def inference(self, audio_path, out_vid_name, fps, skip_save_images):

Callers

nothing calls this directly

Calls 1

get_image_blendingFunction · 0.90

Tested by

no test coverage detected