blank blank

Transforma tus Videos en Podcasts

Un Script de Python para Convertir Videos a MP3 Directamente en Google Drive

En la era del contenido digital, la versatilidad es clave. ¿Cuántas veces has deseado extraer el audio de un video para escucharlo en tu reproductor de música o para crear un podcast? Hoy, te presentamos un script de Python que simplifica este proceso, permitiéndote convertir videos a archivos MP3 directamente desde tu Google Drive.

Este script, diseñado para ejecutarse en Google Colab, utiliza herramientas poderosas como pydub, ipywidgets, y tqdm para ofrecer una experiencia de usuario intuitiva y eficiente. Olvídate de descargar archivos pesados a tu computadora y luego subirlos nuevamente: este script trabaja directamente en la nube.

¿Cómo funciona?

El código comienza montando tu Google Drive en el entorno de Colab. Esto te da acceso directo a tus archivos y carpetas. Luego, se define una función para obtener una lista de todas las subcarpetas dentro de tu carpeta principal de Google Drive.

La pieza central del script es la función crear_selector_carpetas(). Aquí, se crean dos menús desplegables usando ipywidgets, uno para seleccionar la carpeta de origen (donde están los videos) y otro para la carpeta de destino (donde se guardarán los archivos MP3). Un botón «Convertir a MP3» inicia el proceso de conversión.

Cuando haces clic en el botón, el script busca archivos de video en la carpeta de origen, soportando una amplia gama de formatos como MP4, MKV, AVI, MOV, FLV, WMV, MPEG, MPG y WEBM. Utiliza la biblioteca pydub para extraer el audio y convertirlo a formato MP3 con una tasa de bits de 192kbps, garantizando una buena calidad de audio.

Paso a paso: Convierte tus videos con unos pocos clics

  1. Montar Google Drive: El script comienza montando tu Google Drive para acceder a tus archivos directamente.
  2. Seleccionar Carpetas: Dos menús desplegables te permiten elegir la carpeta de origen (videos) y la carpeta de destino (MP3).
  3. Iniciar la Conversión: Un botón «Convertir a MP3» pone en marcha el proceso.
  4. Procesamiento y Progreso: Una barra de progreso (tqdm) te muestra el avance de la conversión.
  5. Resultados y Errores: Al finalizar, el script te informa cuántos archivos se convirtieron con éxito y cuántos errores ocurrieron, y te muestra la ruta de guardado de los audios.

Ventajas de este script

  • Eficiencia: Convierte videos directamente en la nube, ahorrando tiempo y espacio en tu computadora.
  • Versatilidad: Soporta una amplia gama de formatos de video.
  • Facilidad de Uso: La interfaz gráfica creada con ipywidgets es intuitiva y fácil de usar.
  • Automatización: Ideal para procesar grandes cantidades de videos de forma automática.
  • Integración con Google Drive: Se integra perfectamente con tu flujo de trabajo en Google Drive.
  • Informes Detallados: Genera informes sobre el éxito y los errores de la conversión.

¿Por qué usarlo?

Imagina que tienes una colección de conferencias grabadas en video y quieres escucharlas mientras viajas. O quizás eres un creador de contenido que necesita extraer el audio de sus videos para un podcast. Este script te permite hacerlo de forma rápida y sencilla.

Consideraciones técnicas

El script utiliza las siguientes bibliotecas de Python:

  • os: Para interactuar con el sistema operativo y navegar por los directorios.
  • time: Para medir el tiempo de ejecución.
  • tqdm: Para mostrar barras de progreso.
  • shutil: Para realizar operaciones con archivos y directorios.
  • ipywidgets: Para crear la interfaz gráfica interactiva.
  • google.colab: Para interactuar con Google Colab.
  • pydub: Para la conversión de audio.

Este script es una herramienta poderosa para cualquier persona que necesite convertir videos a MP3 de forma eficiente y directa desde Google Drive. Con su interfaz intuitiva y su capacidad para procesar grandes cantidades de archivos, te ahorrará tiempo y esfuerzo.

¿Cómo empezar?

  1. Abre Google Colab.
  2. Copia y pega el código en una celda.
  3. Ejecuta la celda.
  4. Sigue las instrucciones en la interfaz gráfica.

¡Empieza a convertir tus videos a MP3 hoy mismo y descubre una nueva forma de consumir contenido!

 

Código


import os
import time
import tqdm
import shutil
import ipywidgets as widgets
from IPython.display import display, clear_output
from google.colab import drive
from pydub import AudioSegment
def montar_google_drive():
drive.mount('/content/drive')
print("✅ Google Drive montado correctamente")
def obtener_subcarpetas(ruta_base):
carpetas = []
try:
for raiz, dirs, _ in os.walk(ruta_base):
for d in dirs:
carpeta_completa = os.path.join(raiz, d).replace(ruta_base, '').lstrip('/')
carpetas.append(carpeta_completa)
except Exception as e:
print(f"Error al leer carpetas: {str(e)}")
return sorted(carpetas)
def crear_selector_carpetas():
ruta_base = '/content/drive/MyDrive'
carpetas = obtener_subcarpetas(ruta_base)
dropdown_origen = widgets.Dropdown(options=carpetas, description='Origen:')
dropdown_destino = widgets.Dropdown(options=carpetas, description='Destino:')
boton_convertir = widgets.Button(description="Convertir a MP3", button_style='success')
output = widgets.Output()
def on_convertir_click(_):
with output:
clear_output()
if not dropdown_origen.value or not dropdown_destino.value:
print("❌ Seleccione ambas carpetas")
return
ruta_origen = os.path.join(ruta_base, dropdown_origen.value)
ruta_destino = os.path.join(ruta_base, dropdown_destino.value)
os.makedirs(ruta_destino, exist_ok=True)
print(f"\n🔹 Origen: {ruta_origen}")
print(f"🔹 Destino: {ruta_destino}")
procesar_conversion(ruta_origen, ruta_destino)
boton_convertir.on_click(on_convertir_click)
display(widgets.VBox([
widgets.HTML("

🎧 Seleccione carpetas

"), dropdown_origen, dropdown_destino, boton_convertir, output ])) def procesar_conversion(ruta_origen, ruta_destino): extensiones = {'.mp4','.mkv','.avi','.mov','.flv','.wmv','.mpeg','.mpg','.webm'} videos = [] for raiz, _, archivos in os.walk(ruta_origen): for archivo in archivos: if os.path.splitext(archivo)[1].lower() in extensiones: videos.append(os.path.join(raiz, archivo)) if not videos: print("\n❌ No se encontraron videos en la carpeta seleccionada") return print(f"\n🔍 Encontrados {len(videos)} videos para convertir") os.makedirs(ruta_destino, exist_ok=True) exitos = 0 errores = 0 with tqdm.tqdm(total=len(videos), desc="Convirtiendo", unit="archivo") as pbar: for video in videos: try: nombre_base = os.path.splitext(os.path.basename(video))[0] salida = os.path.join(ruta_destino, f"{nombre_base}.mp3") # Convertir video a audio audio = AudioSegment.from_file(video) audio.export(salida, format="mp3", bitrate="192k") exitos += 1 except Exception as e: print(f"\n❌ Error en {os.path.basename(video)}: {str(e)}") errores += 1 finally: pbar.update(1) print("\n" + "="*50) print("✅ Conversión completada") print(f"Archivos convertidos: {exitos}") print(f"Errores: {errores}") print(f"\n🎧 Audios guardados en:") print(ruta_destino) print("🎧 Conversor de Videos a MP3 - Google Drive") montar_google_drive() crear_selector_carpetas()