artificialguybr commited on
Commit
9ac2f85
1 Parent(s): 9d5e39e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -6
app.py CHANGED
@@ -17,21 +17,20 @@ def merge_videos(video1_path, video2_path):
17
  desired_height = 1280
18
  desired_width = 720
19
 
20
- # Comando ffmpeg revisado para redimensionar e centralizar os vídeos
21
  ffmpeg_cmd = (
22
- f'ffmpeg -i "{video1_path}" -i "{video2_path}" '
23
  f'-filter_complex '
24
- f'"[0:v]scale=-2:{desired_height}:force_original_aspect_ratio=decrease,scale={desired_width}:{desired_height}:force_original_aspect_ratio=increase,crop={desired_width}:{desired_height}[v0];'
25
- f'[1:v]scale=-2:{desired_height}:force_original_aspect_ratio=decrease,scale={desired_width}:{desired_height}:force_original_aspect_ratio=increase,crop={desired_width}:{desired_height}[v1];'
26
  f'[v0][v1]vstack=inputs=2[v]" '
27
- f'-map "[v]" -c:v libx264 -aspect 9:16 -crf 23 -preset veryfast {output_filename}'
28
  )
29
 
30
  subprocess.run(ffmpeg_cmd, shell=True, check=True)
31
 
32
  return output_filename
33
 
34
-
35
  def gradio_interface(video1, video2):
36
  # Os vídeos já são passados como caminhos de arquivo temporário, então não precisamos abrir e salvar
37
  output_video = merge_videos(video1, video2)
 
17
  desired_height = 1280
18
  desired_width = 720
19
 
20
+ # Comando ffmpeg revisado para usar a codificação NVENC
21
  ffmpeg_cmd = (
22
+ f'ffmpeg -hwaccel cuda -i "{video1_path}" -i "{video2_path}" '
23
  f'-filter_complex '
24
+ f'"[0:v]scale_cuda=-2:{desired_height}:force_original_aspect_ratio=decrease,scale_cuda={desired_width}:{desired_height}:force_original_aspect_ratio=increase,crop={desired_width}:{desired_height}[v0];'
25
+ f'[1:v]scale_cuda=-2:{desired_height}:force_original_aspect_ratio=decrease,scale_cuda={desired_width}:{desired_height}:force_original_aspect_ratio=increase,crop={desired_width}:{desired_height}[v1];'
26
  f'[v0][v1]vstack=inputs=2[v]" '
27
+ f'-map "[v]" -c:v h264_nvenc -preset fast {output_filename}'
28
  )
29
 
30
  subprocess.run(ffmpeg_cmd, shell=True, check=True)
31
 
32
  return output_filename
33
 
 
34
  def gradio_interface(video1, video2):
35
  # Os vídeos já são passados como caminhos de arquivo temporário, então não precisamos abrir e salvar
36
  output_video = merge_videos(video1, video2)