LinuxParty
Transcribir un vídeo en Linux es más fácil de lo que parece, y si quieres hacerlo con buena calidad, sin depender de servicios web, y con control total del proceso, Whisper es una de las mejores opciones que puedes usar hoy.
Whisper es un sistema de reconocimiento de voz que convierte audio a texto y funciona muy bien con español, incluso con acentos, ruido moderado y audio “regular”. Además, puede generar subtítulos en SRT/VTT y texto plano en TXT, entre otros formatos.
A continuación tienes una guía completa, paso a paso, para usar Whisper en Linux de forma práctica y detallada.
Qué vas a conseguir con Whisper
Con Whisper podrás:
- Transcribir un vídeo (MP4, MKV, AVI…) a texto.
- Generar subtítulos (SRT/VTT) listos para YouTube, VLC, etc.
- Elegir el idioma o dejar que lo detecte automáticamente.
- Ajustar calidad/velocidad eligiendo el modelo.
- Trabajar offline (sin subir tu vídeo a ninguna web).
Requisitos previos
1) Python y pip
Necesitas Python 3.9+ (ideal 3.10/3.11) y pip.
En Debian/Ubuntu:
sudo apt update sudo apt install -y python3 python3-pip python3-venv ffmpeg
En RHEL / Rocky / Alma / Fedora:
sudo dnf install -y python3 python3-pip ffmpeg
Importante:
ffmpeges clave. Whisper usa ffmpeg para leer el audio del vídeo.
Comprueba que está instalado:
ffmpeg -version python3 --version pip3 --version
Instalación recomendada (limpia) con entorno virtual
Para evitar “ensuciar” el sistema, crea un entorno virtual:
mkdir -p ~/whisper && cd ~/whisper python3 -m venv .venv source .venv/bin/activate
Ahora instala Whisper:
pip install -U pip pip install -U openai-whisper
Si todo fue bien, prueba el comando:
whisper --help
Transcribir un vídeo: lo básico
Ejemplo 1: transcripción en español a TXT (y más formatos)
whisper video.mp4 --language Spanish
Por defecto, Whisper suele generar varios archivos en la misma carpeta:
video.txt(texto)video.vtt(subtítulos VTT)video.srt(subtítulos SRT)video.tsv(tabla)video.json(datos)
Elegir formato de salida
Puedes especificar exactamente qué quieres generar con --output_format:
Solo texto TXT:
whisper video.mp4 --language Spanish --output_format txt
Subtítulos SRT:
whisper video.mp4 --language Spanish --output_format srt
WebVTT (ideal para web):
whisper video.mp4 --language Spanish --output_format vtt
Y para elegir carpeta de salida:
whisper video.mp4 --language Spanish --output_dir ./salidas --output_format srt
Modelos: calidad vs velocidad (esto importa)
Whisper tiene varios modelos. En general:
tiny: muy rápido, menos precisobase: rápido, aceptablesmall: buen equilibriomedium: más calidad, más lentolarge: máxima calidad, más lento y pesado
Para elegir modelo:
whisper video.mp4 --language Spanish --model small
Recomendación práctica:
- Para pruebas rápidas:
baseosmall - Para trabajo serio:
medium - Para máxima calidad:
large(si tu máquina lo aguanta)
Controlar el idioma (o detección automática)
Si sabes el idioma, forzarlo suele mejorar resultados y evita “mezclas” raras:
whisper video.mp4 --language Spanish
Si no lo indicas, Whisper intenta detectarlo.
Transcribir solo el audio (mejor si el vídeo pesa mucho)
A veces conviene extraer el audio primero (y así procesas más rápido y con menos problemas).
Extraer audio a WAV (recomendado)
ffmpeg -i video.mp4 -vn -ac 1 -ar 16000 audio.wav
-vn: sin vídeo-ac 1: mono-ar 16000: 16 kHz (muy compatible para ASR)
Ahora transcribes el WAV:
whisper audio.wav --language Spanish --model small --output_format txt
Mejorar la salida: puntuación, coherencia y “relleno”
Whisper suele poner bastante bien la puntuación, pero el texto final depende mucho de:
- calidad del audio
- ruido de fondo
- múltiples personas hablando
- solapamientos
Consejos reales que ayudan:
- Si hay ruido constante, intenta mejorar el audio con
ffmpeg(filtro) o extraerlo limpio. - Si el vídeo tiene varias voces, Whisper no etiqueta hablantes por sí solo (ver sección de “diarización” abajo).
Acelerar con GPU (si tienes NVIDIA)
Si tienes NVIDIA, puedes usar GPU con PyTorch CUDA (la instalación varía por distro y versión de CUDA). La idea general:
- Instalar un PyTorch con CUDA compatible.
- Ejecutar Whisper normalmente: detectará GPU.
Comprobación rápida (dentro del venv):
python -c "import torch; print(torch.cuda.is_available())"
Si devuelve True, vas con GPU y se nota muchísimo en medium/large.
En equipos sin GPU,
smallsuele ser el punto dulce.
Diarización (separar por hablantes): lo que Whisper no hace “solo”
Si tu objetivo es “HABLANTE 1 / HABLANTE 2”, Whisper no lo entrega de serie.
Para eso necesitas una herramienta adicional de diarización (p. ej. basadas en pyannote, etc.).
Aun así, Whisper te da marcas de tiempo en SRT/VTT, y con eso ya puedes:
- editar subtítulos
- identificar cambios de voz manualmente
- montar un flujo posterior para diarización
Si Linuxparty quiere, en otro artículo se puede montar un pipeline completo con diarización.
Automatizar: un mini script útil
Guarda como transcribir.sh:
#!/usr/bin/env bash set -euo pipefail VIDEO="${1:-}" MODEL="${2:-small}" LANG="${3:-Spanish}" if [[ -z "$VIDEO" ]]; then echo "Uso: $0 <video.mp4> [modelo] [idioma]" echo "Ejemplo: $0 charla.mp4 medium Spanish" exit 1 fi OUTDIR="./transcripciones" mkdir -p "$OUTDIR" echo "Transcribiendo: $VIDEO" echo "Modelo: $MODEL | Idioma: $LANG | Salida: $OUTDIR" whisper "$VIDEO" \ --model "$MODEL" \ --language "$LANG" \ --output_dir "$OUTDIR" \ --output_format "txt" \ --output_format "srt"
Dale permisos:
chmod +x transcribir.sh
Ejemplo:
./transcribir.sh video.mp4 medium Spanish
Problemas típicos y soluciones rápidas
1) “ffmpeg not found”
Instala ffmpeg (imprescindible):
- Ubuntu/Debian:
sudo apt install ffmpeg - RHEL/Fedora:
sudo dnf install ffmpeg
2) Error compilando dependencias
Actualiza pip y usa venv:
pip install -U pip setuptools wheel pip install -U openai-whisper
3) Va lentísimo
- Baja el modelo (
smallen vez demedium/large) - Extrae audio primero a WAV
- Si tienes NVIDIA, usa GPU
4) El texto sale “cortado” o raro
Prueba:
- forzar idioma
--language Spanish - usar un modelo mayor (
small→medium) - mejorar el audio con extracción WAV
Conclusión
Whisper convierte Linux en una estación de transcripción potente: offline, precisa y automatizable.
Con ffmpeg + whisper puedes pasar de vídeo a texto/subtítulos en minutos, y además integrarlo en scripts o procesos de servidor.
-
Películas
- ¿Cómo puedo hacer la transcripción de un vídeo en Linux?
- La película 'Flow', renderizada con Blender, gana el Oscar a la mejor película de animación, superando a Pixar
- ¿Los streamers pierden más tiempo decidiendo qué mirar?
- 'Super Mario Bros. Movie' bate récords tras la apertura de película animada más taquillera de la historia
- Cómo editar un vídeo con ffmpeg
- Cambiar / redimensionar tamaño de un video en Linux con ffmpeg
- Reconstruir video dañado en linux
- Pelis a la carta: una tremenda extensión para tu media center
- Y la película más descargada este 2011 es…
- Curso de Edición de Vídeo en Linux, 11 capítulos.
- Editar y retocar vídeo en Linux
- ¿Por qué la gente debe dejar de ser engañada por la estafa del 3D?



