video-blend / app.py
Moibe
Print result hash
7e398ae
raw
history blame
No virus
2.86 kB
import gradio as gr
from PIL import Image
import time
import os
import pathlib
def greet(input1, input2):
modo = "video"
print("Inicio: Estamos en modo ", modo)
print("Input1:")
print(input1)
print("Input2:")
print(input2)
path_video = input2
#Para local.
#path_parts = path_video.split("\\")
#Para HuggingFace
path_parts = path_video.split("/")
print("Imprimiendo path_parts: ", path_parts)
path_bueno = "/".join(path_parts[0:len(path_parts) - 2])
#path_bueno = path_bueno.replace("\\", "/")
print("Path bueno:")
print(path_bueno)
files = os.listdir(path_bueno)
print("Estos son los files que hay:")
print(files)
time.sleep(10)
ext_imagen = "png"
ext_video = "mp4"
#Selector de modo.
if modo == "video":
print("Se asigno la extensi贸n de video:", ext_video)
extension = ext_video
else:
print("Se asigno la extensi贸n de video:", ext_video)
extension = ext_imagen
#El source siempre es una imagen.
source_path = "source.png"
target_path = "target." + extension
result_path = "result." + extension
#La primera siempre ser谩 una imagen, por eso no entra en el modo selector.
source_image = Image.fromarray(input1)
print("Esto es source_image: ", source_image)
source_image.save(source_path)
#Aqu铆 trabajaremos solo el target.
if modo == "video":
#Para Video
target_path = input2
else:
#Es decir si es modo imagen
#Para Imagenes
target_image = Image.fromarray(input2)
print("Esto es target_image: ", target_image)
target_image.save(target_path)
print("Despu茅s de los selectores de modo los paths quedaron as铆:")
print("source_path: ", source_path)
print("target_path: ", target_path)
command = f"python run.py -s {source_path} -t {target_path} -o {result_path} --frame-processor face_swapper"
print(command)
time.sleep(1)
proc = os.popen(command)
output = proc.read()
print("Output (resultado de la ejecuci贸n del c贸digo):")
time.sleep(2)
print(output)
print("Termin贸 la impresi贸n del output...")
print("Ahora estamos imprimiendo las rutas para ver si apareci贸 una nueva:")
files = os.listdir(path_bueno)
print("Estos son los files que hay:")
print(files)
if modo == "video":
#Para video
path = pathlib.Path("result.mp4")
return path, path
else:
#Para imagen
path = pathlib.Path("result.png")
return path, path
#As铆 para imagenes
# demo = gr.Interface(
# fn=greet, inputs=[gr.Image(), gr.Image()], outputs=[gr.Image(), gr.Image()]
# )
#As铆 para video
demo = gr.Interface(
fn=greet, inputs=[gr.Image(), gr.Video()], outputs=[gr.Video(), gr.Video()]
)
demo.launch()