rahul7star commited on
Commit
49930a4
·
verified ·
1 Parent(s): 06bbca2

Update app_4k.py

Browse files
Files changed (1) hide show
  1. app_4k.py +14 -27
app_4k.py CHANGED
@@ -21,37 +21,22 @@ import subprocess
21
  import os
22
  import uuid
23
 
24
- def generate_4k_ultrawan_video(prompt: str, seed: int = 42, out_dir: str = "/tmp/output"):
25
- output_name = f"ultrawan_{uuid.uuid4().hex[:8]}"
26
- output_path = os.path.join(out_dir, output_name)
27
- os.makedirs(out_dir, exist_ok=True)
28
 
 
 
29
  cmd = [
30
- "python", "infer.py",
31
- "--model_dir", "ultrawan_weights/Wan2.1-T2V-1.3B",
32
- "--model_path", "ultrawan_weights/UltraWan/ultrawan-4k.ckpt",
33
- "--mode", "lora",
34
- "--lora_alpha", "0.5",
35
- "--usp", "0",
36
- "--height", "2160",
37
- "--width", "3840",
38
- "--num_frames", "33",
39
- "--prompt", prompt,
40
- "--seed", str(seed),
41
- "--out_dir", output_path
42
  ]
 
43
 
44
- env = os.environ.copy()
45
- env["CUDA_VISIBLE_DEVICES"] = "0"
46
-
47
- subprocess.run(cmd, env=env, check=True)
48
-
49
- # Assume the output is a .mp4 inside output_path
50
- generated_files = [f for f in os.listdir(output_path) if f.endswith(".mp4")]
51
- if not generated_files:
52
- raise FileNotFoundError("No output video found.")
53
-
54
- return os.path.join(output_path, generated_files[0])
55
 
56
 
57
 
@@ -255,6 +240,8 @@ def generate_video(prompt, height, width,
255
  with tempfile.NamedTemporaryFile(suffix=".mp4", delete=False) as tmpfile:
256
  video_path = tmpfile.name
257
  export_to_video(output_frames_list, video_path, fps=FIXED_OUTPUT_FPS)
 
 
258
 
259
  return video_path, current_seed
260
 
 
21
  import os
22
  import uuid
23
 
24
+ import subprocess
 
 
 
25
 
26
+ def upscale_to_4k(input_video_path, output_video_path):
27
+ # Use Lanczos for better quality upscale
28
  cmd = [
29
+ "ffmpeg",
30
+ "-i", input_video_path,
31
+ "-vf", "scale=3840:2160:flags=lanczos", # upscale to 4K (3840x2160)
32
+ "-c:v", "libx264", # or libx265 for smaller size
33
+ "-crf", "18", # quality: lower is better (range 0-51)
34
+ "-preset", "slow", # better compression
35
+ "-y", # overwrite output file
36
+ output_video_path,
 
 
 
 
37
  ]
38
+ subprocess.run(cmd, check=True)
39
 
 
 
 
 
 
 
 
 
 
 
 
40
 
41
 
42
 
 
240
  with tempfile.NamedTemporaryFile(suffix=".mp4", delete=False) as tmpfile:
241
  video_path = tmpfile.name
242
  export_to_video(output_frames_list, video_path, fps=FIXED_OUTPUT_FPS)
243
+ upscale_to_4k(video_path, os.path.join(temp_dir, "upscaled_4k.mp4"))
244
+
245
 
246
  return video_path, current_seed
247