En esta clase, vamos a continuar con el código de nuestro programa:
Una vez que ya tenemos el video, vamos a proceder a crear la carpeta donde se guardará el audio, el texto del video y el resultado de nuestra solicitud a la API de OpenAI. Para esto, vamos a utilizar la función “splitext” de nuestra biblioteca “os” para poder separar el nombre y la extensión de la variable “archivo_video” en una tupla, y así poder darle el nombre a la carpeta sin la extensión.
Así quedaría esta parte del código:
nombre_archivo = os.path.splitext(archivo_video)[0]
Una vez que ya tenemos el nombre del video en la variable “nombre_archivo”, pasamos el valor a la variable “carpeta” solo para que nuestro código sea más fácil de entender:
carpeta = nombre_archivo
Después, procedemos a validar si la carpeta ya existe. Si no existe, la creamos utilizando nuestra biblioteca “os”:
if not os.path.exists(carpeta):
os.makedirs(carpeta)
Todo nuestro código que llevamos hasta el momento se debería de ver así:
import openai
import sys
import os
import whisper
import yt_dlp
def descargar_youtube(url):
title = input("Ingresa el nuevo nombre de tu video a analizar: ")
ydl_opts = {
'format': 'best',
'outtmpl': f'{title}.%(ext)s',
'noplaylist': True,
'download': False
}
with yt_dlp.YoutubeDL(ydl_opts) as ydl:
ydl.download([url])
title = title + f".mp4"
return title
print("¿Qué tipo de video desea analizar?")
print("1. Video descargado")
print("2. Video de YouTube")
opcion = int(input("Elija una opción: "))
if opcion == 1:
archivo_video = input("Ingrese el nombre del video: ")
elif opcion == 2:
url = input("Ingrese la URL del video de YouTube: ")
archivo_video = descargar_youtube(url)
else:
print("Opción no válida.")
sys.exit()
nombre_archivo = os.path.splitext(archivo_video)[0]
carpeta = nombre_archivo
if not os.path.exists(carpeta):
os.makedirs(carpeta)
Nota del maestro: Recuerda que este curso es gratuito y no cuenta con soporte. Si tienes problemas o dudas, puedes escribirme en Twitter haciendo clic aquí y esperar a que tenga un tiempo libre para poder contestarte. También puedes considerar tomar el curso profesional en nuestra plataforma de Azul School, que incluye soporte prioritario para todos nuestros cursos y muchos más beneficios. Haz clic aquí para comprar tu membresía anual u obtener más información al respecto.