Spaces:
Running
on
Zero
Running
on
Zero
keep it all on HF - easy dict errors
Browse files
app.py
CHANGED
|
@@ -166,22 +166,24 @@ def render_preview_video(state: dict, req: gr.Request) -> str:
|
|
| 166 |
"""
|
| 167 |
if not state:
|
| 168 |
print(f"[{req.session_hash}] render_preview_video called with empty state. Returning None.")
|
| 169 |
-
# Consider returning a placeholder or raising an error if state is required
|
| 170 |
return None
|
| 171 |
|
| 172 |
user_dir = os.path.join(TMP_DIR, str(req.session_hash))
|
| 173 |
os.makedirs(user_dir, exist_ok=True) # Ensure directory exists
|
| 174 |
|
| 175 |
-
print(f"[{req.session_hash}] Unpacking state for video rendering.")
|
| 176 |
-
gs, mesh
|
|
|
|
| 177 |
|
| 178 |
-
print(f"[{req.session_hash}] Rendering video...")
|
|
|
|
| 179 |
video = render_utils.render_video(gs, num_frames=120)['color']
|
| 180 |
-
video_geo = render_utils.render_video(mesh, num_frames=120)['normal']
|
| 181 |
-
video = [np.concatenate([video[i], video_geo[i]], axis=1) for i in range(len(video))]
|
| 182 |
|
| 183 |
-
video_path = os.path.join(user_dir, 'preview_sample.mp4')
|
| 184 |
-
print(f"[{req.session_hash}] Saving video to {video_path}")
|
|
|
|
| 185 |
imageio.mimsave(video_path, video, fps=15)
|
| 186 |
|
| 187 |
torch.cuda.empty_cache()
|
|
|
|
| 166 |
"""
|
| 167 |
if not state:
|
| 168 |
print(f"[{req.session_hash}] render_preview_video called with empty state. Returning None.")
|
|
|
|
| 169 |
return None
|
| 170 |
|
| 171 |
user_dir = os.path.join(TMP_DIR, str(req.session_hash))
|
| 172 |
os.makedirs(user_dir, exist_ok=True) # Ensure directory exists
|
| 173 |
|
| 174 |
+
print(f"[{req.session_hash}] Unpacking state for video rendering.")
|
| 175 |
+
# Only unpack gs, as mesh causes type errors with render_utils after unpacking
|
| 176 |
+
gs, _ = unpack_state(state) # We still need the mesh for GLB, but not for this video preview
|
| 177 |
|
| 178 |
+
print(f"[{req.session_hash}] Rendering video (Gaussian only)...")
|
| 179 |
+
# Render ONLY the Gaussian splats, as rendering the unpacked mesh fails
|
| 180 |
video = render_utils.render_video(gs, num_frames=120)['color']
|
| 181 |
+
# REMOVED: video_geo = render_utils.render_video(mesh, num_frames=120)['normal']
|
| 182 |
+
# REMOVED: video = [np.concatenate([video[i], video_geo[i]], axis=1) for i in range(len(video))]
|
| 183 |
|
| 184 |
+
video_path = os.path.join(user_dir, 'preview_sample.mp4')
|
| 185 |
+
print(f"[{req.session_hash}] Saving video to {video_path}")
|
| 186 |
+
# Save only the Gaussian render
|
| 187 |
imageio.mimsave(video_path, video, fps=15)
|
| 188 |
|
| 189 |
torch.cuda.empty_cache()
|