victor HF Staff commited on
Commit
11a2434
·
1 Parent(s): 834ab3e

feat: Add GPU-accelerated FFmpeg command execution and refactor command handling

Browse files
Files changed (1) hide show
  1. app.py +13 -5
app.py CHANGED
@@ -1,4 +1,5 @@
1
  import gradio as gr
 
2
 
3
  from PIL import Image
4
  from moviepy.editor import VideoFileClip, AudioFileClip
@@ -215,6 +216,17 @@ YOUR RESPONSE:
215
  raise Exception("API Error")
216
 
217
 
 
 
 
 
 
 
 
 
 
 
 
218
  def update(
219
  files,
220
  prompt,
@@ -276,11 +288,7 @@ def update(
276
 
277
  output_file_name = f"output_{uuid.uuid4()}.mp4"
278
  output_file_path = str((Path(temp_dir) / output_file_name).resolve())
279
- final_command = args + ["-y", output_file_path]
280
- print(
281
- f"\n=== EXECUTING FFMPEG COMMAND ===\nffmpeg {' '.join(final_command[1:])}\n"
282
- )
283
- subprocess.run(final_command, cwd=temp_dir)
284
  # Extract just the command for display
285
  command_for_display = f"ffmpeg {' '.join(args[1:])} -y output.mp4"
286
  generated_command = f"### Generated Command\n```bash\n{command_for_display}\n```"
 
1
  import gradio as gr
2
+ import spaces
3
 
4
  from PIL import Image
5
  from moviepy.editor import VideoFileClip, AudioFileClip
 
216
  raise Exception("API Error")
217
 
218
 
219
+ @spaces.GPU(duration=120)
220
+ def execute_ffmpeg_command(args, temp_dir, output_file_path):
221
+ """Execute FFmpeg command with GPU acceleration"""
222
+ final_command = args + ["-y", output_file_path]
223
+ print(
224
+ f"\n=== EXECUTING FFMPEG COMMAND ===\nffmpeg {' '.join(final_command[1:])}\n"
225
+ )
226
+ subprocess.run(final_command, cwd=temp_dir)
227
+ return output_file_path
228
+
229
+
230
  def update(
231
  files,
232
  prompt,
 
288
 
289
  output_file_name = f"output_{uuid.uuid4()}.mp4"
290
  output_file_path = str((Path(temp_dir) / output_file_name).resolve())
291
+ execute_ffmpeg_command(args, temp_dir, output_file_path)
 
 
 
 
292
  # Extract just the command for display
293
  command_for_display = f"ffmpeg {' '.join(args[1:])} -y output.mp4"
294
  generated_command = f"### Generated Command\n```bash\n{command_for_display}\n```"