File size: 2,423 Bytes
d4757ae
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
import os
from ov_inference import ov_inference
import soundfile as sf
import cv2

def verificar_archivos(video_path, audio_path):
    """
    Verifica que los archivos de video y audio existen y son legibles.

    Args:
        video_path (str): Ruta del archivo de video.
        audio_path (str): Ruta del archivo de audio.

    Returns:
        bool: True si ambos archivos son legibles, False en caso contrario.
    """
    # Verificar el archivo de video
    if not os.path.exists(video_path):
        print(f"Error: El archivo de video no existe en la ruta {video_path}")
        return False
    else:
        # Intentar abrir el video
        cap = cv2.VideoCapture(video_path)
        if not cap.isOpened():
            print(f"Error: No se puede abrir el archivo de video en {video_path}")
            return False
        else:
            print(f"Archivo de video {video_path} está accesible.")
        cap.release()

    # Verificar el archivo de audio
    if not os.path.exists(audio_path):
        print(f"Error: El archivo de audio no existe en la ruta {audio_path}")
        return False
    else:
        try:
            # Intentar abrir el archivo de audio
            with sf.SoundFile(audio_path) as audio_file:
                print(f"Archivo de audio {audio_path} está accesible.")
        except Exception as e:
            print(f"Error al leer el archivo de audio: {e}")
            return False

    return True

# Rutas de archivos
#video_path = os.path.abspath("../miwav2lipv6/assets/video/data_video_sun_5s.mp4")
video_path = os.path.abspath("../miwav2lipv6/assets/video/data_video_sun.mp4")
#audio_path = os.path.abspath("../miwav2lipv6/assets/audio/grabacion_gradio.wav")
audio_path = os.path.abspath("../miwav2lipv6/assets/audio/audio.wav")
face_detection_path = os.path.abspath("../miwav2lipv6/models/face_detection.xml")
wav2lip_path = os.path.abspath("../miwav2lipv6/models/wav2lip.xml")
outfile = os.path.abspath("../miwav2lipv6/results/result_voice.mp4")

# Verificar archivos antes de llamar a ov_inference
if verificar_archivos(video_path, audio_path):
    ov_inference(
        video_path,
        audio_path,
        face_detection_path=face_detection_path,
        wav2lip_path=wav2lip_path,
        inference_device="CPU",
        outfile=outfile,
        resize_factor = 2,
    )
else:
    print("No se pudo proceder con la inferencia debido a problemas con los archivos.")