Update app.py
Browse files
app.py
CHANGED
@@ -2,12 +2,13 @@ import gradio as gr
|
|
2 |
from moviepy.editor import VideoFileClip, concatenate_videoclips
|
3 |
import random
|
4 |
|
|
|
5 |
def process_videos(videos, rotate_option):
|
6 |
clips = []
|
7 |
|
8 |
# Cargar y recortar cada video a los primeros 3 segundos
|
9 |
-
for
|
10 |
-
clip = VideoFileClip(
|
11 |
|
12 |
# Recortar el video a los primeros 3 segundos
|
13 |
if clip.duration > 3:
|
@@ -30,7 +31,7 @@ def process_videos(videos, rotate_option):
|
|
30 |
final_clip = concatenate_videoclips(clips)
|
31 |
|
32 |
# Guardar el video unido en un archivo
|
33 |
-
output_path = "
|
34 |
final_clip.write_videofile(output_path, codec="libx264")
|
35 |
|
36 |
# Devolver la ruta del archivo final
|
@@ -40,12 +41,13 @@ def process_videos(videos, rotate_option):
|
|
40 |
iface = gr.Interface(
|
41 |
fn=process_videos,
|
42 |
inputs=[
|
43 |
-
gr.
|
44 |
gr.Radio(["Sin rotación", "90 grados", "180 grados", "270 grados"], label="Rotar video")
|
45 |
],
|
46 |
outputs=gr.File(label="Video unido de salida"),
|
47 |
title="Mezclar y Unir Videos con Rotación",
|
48 |
-
description="Sube varios videos en formato 9:16. El sistema cortará los primeros 3 segundos de cada video, los mezclará en un orden aleatorio, aplicará la rotación seleccionada y generará un nuevo archivo de video."
|
|
|
49 |
)
|
50 |
|
51 |
# Ejecutar la interfaz
|
|
|
2 |
from moviepy.editor import VideoFileClip, concatenate_videoclips
|
3 |
import random
|
4 |
|
5 |
+
# Función para procesar los videos
|
6 |
def process_videos(videos, rotate_option):
|
7 |
clips = []
|
8 |
|
9 |
# Cargar y recortar cada video a los primeros 3 segundos
|
10 |
+
for video_path in videos:
|
11 |
+
clip = VideoFileClip(video_path)
|
12 |
|
13 |
# Recortar el video a los primeros 3 segundos
|
14 |
if clip.duration > 3:
|
|
|
31 |
final_clip = concatenate_videoclips(clips)
|
32 |
|
33 |
# Guardar el video unido en un archivo
|
34 |
+
output_path = "output_video.mp4"
|
35 |
final_clip.write_videofile(output_path, codec="libx264")
|
36 |
|
37 |
# Devolver la ruta del archivo final
|
|
|
41 |
iface = gr.Interface(
|
42 |
fn=process_videos,
|
43 |
inputs=[
|
44 |
+
gr.Files(label="Sube tus videos (MP4)", file_count="multiple", type="filepath"), # Cambiamos a "filepath"
|
45 |
gr.Radio(["Sin rotación", "90 grados", "180 grados", "270 grados"], label="Rotar video")
|
46 |
],
|
47 |
outputs=gr.File(label="Video unido de salida"),
|
48 |
title="Mezclar y Unir Videos con Rotación",
|
49 |
+
description="Sube varios videos en formato 9:16. El sistema cortará los primeros 3 segundos de cada video, los mezclará en un orden aleatorio, aplicará la rotación seleccionada y generará un nuevo archivo de video.",
|
50 |
+
button_text="Procesar Video"
|
51 |
)
|
52 |
|
53 |
# Ejecutar la interfaz
|