LinuxParty

Inicio desactivadoInicio desactivadoInicio desactivadoInicio desactivadoInicio desactivado
 

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: ffmpeg es 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 preciso
  • base: rápido, aceptable
  • small: buen equilibrio
  • medium: más calidad, más lento
  • large: 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: base o small
  • 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:

  1. Instalar un PyTorch con CUDA compatible.
  2. 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, small suele 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 (small en vez de medium/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 (smallmedium)
  • 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.

No estás registrado para postear comentarios



Redes:



   

 

Suscribete / Newsletter

Suscribete a nuestras Newsletter y periódicamente recibirás un resumen de las noticias publicadas.

Donar a LinuxParty

 

Tutorial de Linux

Top 15 artículos por Fecha

Viendo artículos de: Febrero de 2026

Filtro por Categorías