Explorando la inteligencia artificial y OpenAI con Python

0 of 25 lessons complete (0%)

Bibliotecas, YouTube, Extracción de audio y reconocimiento de voz con IA.

Extracción de audio de video

You don’t have access to this lesson

Please register or sign in to access the course content.

En esta clase, vamos a proceder con la extracción del audio del video que ya hemos descargado en clases anteriores.

Para poder extraer el audio del video, vamos a necesitar la biblioteca “os”. Esta biblioteca nos permitirá acceder a la biblioteca “ffmpeg”, que como mencionamos en clases anteriores, no forma parte de Python, sino de Linux.

La biblioteca “ffmpeg” va a necesitar dos variables: el nombre del video con su extensión y el nombre del nuevo archivo junto con su extensión y la carpeta donde será guardado. El nombre del archivo con su extensión ya lo tenemos guardado en la variable “archivo_video”, así que solo será necesaria la siguiente línea:

archivo_audio = f"{carpeta}/{nombre_archivo}.wav"

Ahora que ya tenemos las dos variables, procedemos a extraer el audio:

os.system(f'ffmpeg -i "{archivo_video}" -vn "{archivo_audio}"')

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)

archivo_audio = f"{carpeta}/{nombre_archivo}.wav"
os.system(f'ffmpeg -i "{archivo_video}" -vn "{archivo_audio}"')

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.