obsxrver commited on
Commit
d1ea5e9
·
verified ·
1 Parent(s): e905aec

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -2
app.py CHANGED
@@ -15,7 +15,29 @@ from torchao.quantization import quantize_
15
  from torchao.quantization import Float8DynamicActivationFloat8WeightConfig, Int8WeightOnlyConfig
16
  import aoti
17
  import uuid
18
-
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
19
  # =========================================================
20
  # MODEL CONFIGURATION
21
  # =========================================================
@@ -207,7 +229,7 @@ def generate_video(
207
 
208
  with tempfile.NamedTemporaryFile(suffix=".mp4", delete=False) as tmpfile:
209
  video_path = tmpfile.name
210
- export_to_video(output_frames_list, video_path, fps=FIXED_FPS)
211
  hf_upload(video_path,prompt, repo="obsxrver/hf-space-output")
212
  return video_path, current_seed
213
 
 
15
  from torchao.quantization import Float8DynamicActivationFloat8WeightConfig, Int8WeightOnlyConfig
16
  import aoti
17
  import uuid
18
+ import imageio.v3 as iio
19
+
20
+
21
+ def export_browser_safe_video(frames, path, fps=16):
22
+ """
23
+ frames: list of PIL images or numpy arrays (H, W, 3), uint8
24
+ path: output .mp4 path
25
+ """
26
+ # convert PIL to np if needed
27
+ np_frames = []
28
+ for f in frames:
29
+ if hasattr(f, "convert"):
30
+ f = f.convert("RGB")
31
+ f = np.array(f)
32
+ np_frames.append(f)
33
+
34
+ iio.imwrite(
35
+ path,
36
+ np_frames,
37
+ fps=fps,
38
+ codec="libx264",
39
+ pixelformat="yuv420p", # important for browser support
40
+ )
41
  # =========================================================
42
  # MODEL CONFIGURATION
43
  # =========================================================
 
229
 
230
  with tempfile.NamedTemporaryFile(suffix=".mp4", delete=False) as tmpfile:
231
  video_path = tmpfile.name
232
+ export_browser_safe_video(output_frames_list, video_path)
233
  hf_upload(video_path,prompt, repo="obsxrver/hf-space-output")
234
  return video_path, current_seed
235