· Conversor MKV ·
Última actualización
05 octubre 2025
Versión
1.5
🧾 Descripción
Conversor de archivos con formato H.264 .mkv al códec H.265 con selección interactiva de pista de audio. Este script permite convertir de manera fácil los archivos MKV para ahorrar espacio físico en el disco duro, sin pérdida perceptible en la calidad de imagen.
Trabajará sobre todos los MKV del directorio donde se ejecute el script.
- Detecta pistas de audio.
- Si hay una sola, la selecciona automáticamente.
- Si hay varias, pregunta cuál conservar (el usuario deberá escoger el idioma, según su preferencia: spa/eng u otros).
- Reconvierte el archivo usando x265, manteniendo subtítulos y todo el encapsulado.
- Genera un
logdetallado por cada archivo enlogs/. - Respeta el archivo original: no los borra ni modifica.
- En los archivos convertidos se añade la etiqueta:
nombre_de_archivo [H265].mkv.
Ejemplo de log generado:
=======================================
Archivo: Prueba.mkv
Pistas de audio encontradas: 2
Índice mostrado: 1
Idioma detectado: TAG:language=spa
Índice mostrado: 2
Idioma detectado: TAG:language=eng
Usuario seleccionó: 1
Finalizado: 05-10-2025 14:36:26
Tamaño original: 1658 MB
Tamaño final: 937 MB
Compresión: 43.45%
Tiempo: 2479s
🔧 Requisitos
- ffmpeg
- bash ≥ 4.0
- ffprobe (viene con ffmpeg)
- x265 / libx265
🎬 Compatibilidad del códec x265 por distribución
- 🟢 Linux Mint MATE (base principal)
- 🟢 Debian y derivadas: Ubuntu, LMDE, MX Linux, etc.
- Viene incluido en los repos oficiales, pero como librería aparte.
- Cuando instalas ffmpeg desde repositorios oficiales (paquete completo, no Snap), trae soporte porque depende del paquete
libx265.
Instalación si no lo tienes:
sudo apt install ffmpeg libx265-dev
- 🟡 Fedora
- Fedora incluye ffmpeg con soporte parcial debido a las políticas de software con patentes.
- Desde Fedora 38+, los repositorios rpmfusion-free y rpmfusion-nonfree ofrecen
ffmpegcompleto conx265habilitado.
Habilita, si no lo has hecho aún, rpmfusion-free y rpmfusion-nonfree.
Nota: copia y pega como un comando único:
sudo dnf install \
https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
https://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm
Actualiza índices
sudo dnf update
Instalación de x265:
sudo dnf install ffmpeg ffmpeg-libs
Añade códecs extra (recomendado)
- Si usas GStreamer, Totem, Celluloid o GNOME vídeos:
sudo dnf install gstreamer1-libav gstreamer1-plugins-bad-free-extras gstreamer1-plugins-bad-freeworld gstreamer1-plugins-ugly
- 🟡 openSUSE (Leap y Tumbleweed)
- Depende del repositorio multimedia adicional Packman, que es el que trae soporte completo de códecs y es necesario activarlo.
Habilita, si no lo has hecho aún, el repo Packman
- 👉 Repositorio para openSUSE Leap
Nota: copia y pega como un comando único:
sudo zypper addrepo –refresh \
https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Leap_$(grep VERSION_ID /etc/os-release | cut -d’»‘ -f2)/ \
packman
- 👉 Repositorio para openSUSE Tumbleweed
Nota: copia y pega como un comando único:
sudo zypper addrepo –refresh \
https://ftp.gwdg.de/pub/linux/misc/packman/suse/openSUSE_Tumbleweed/ \
packman
- Actualiza la información de repositorios
sudo zypper refresh
Packmandebe priorizar sobre tus otros repos oficiales
Nota: ⚠️ Esto no reinstalará tu sistema, sólo sustituirá los paquetes multimedia (como ffmpeg, gstreamer, libavcodec, x264, x265, etc.) por sus versiones completas de Packman.
sudo zypper dup –from packman –allow-vendor-change
Instala ffmpeg con soporte completo
sudo zypper install ffmpeg-? libx265-???
Nota: ajusta los números de versión de tu release actual de openSUSE, verifícalo antes con:
zypper search --details ffmpeg x265 | grep packman- Posible ejemplo de salida
| V | Nombre | Tipo | Versión | Repositorio |
| ffmpeg-6 | paquete | 6.1-1.3 | packman | |
| i | ffmpeg-5 | paquete | 5.1-2.1 | packman |
| libx265-199 | paquete | 3.5-150400.1.12 | packman |
Nota: si en la columna V (versión instalada) hay una i, indica que ese códec ya está instalado y puedes omitirlo en el siguiente comando.
⚠️ Como ejemplo y basándose en esta tabla escribirías:
sudo zypper install ffmpeg-6 libx265-199
- 🟢 Arch Linux y derivadas: Manjaro, EndeavourOS, Garuda, etc.
- Todas compilan
ffmpegcon soporte completo (x264,x265,VP9,AV1, etc.). - Los binarios oficiales incluyen
--enable-libx265.
- Todas compilan
sudo pacman -S ffmpeg x265
🛠️ Uso
Antes del primer uso conceder permisos de ejecución:
Sólo si lo has descargado desde El Cuaderno de Bitácora Linuxero: chmod +x conversor-mkv.sh
Ejecutar el script:
./conversor-mkv.sh
Opción alternativa
Si no aplicas permisos de ejecución:
bash conversor-mkv.sh
Verifica si hay disponible una nueva versión del script en el repositorio
Dos opciones disponibles:
./mkv-converter.sh --verificar
./mkv-converter.sh --check-version
📦 CHANGELOG
v1.5 – Reestructuración y mejoras de robustez
- Nuevo: Protección contra sobreescritura → ignora automáticamente los archivos que ya contienen «[H265]» en el nombre. Evita duplicar recodificaciones («[H265] [H265].mkv»).
- Nuevo: Barra estándar de ffmpeg (-stats) en una sola línea → se mantiene visible y legible sin inundar la consola, refrescando cada 3s (se recomienda expandir la terminal: pulsar ALT + T, después 4 → Resultado de pantalla 132×43).
- Nuevo: Logs individuales por archivo (
logs/nombre.log) con inicio, fin, tamaño, compresión y tiempo total, todo con fechas en formato español. - Nuevo: Resumen global al finalizar → número de convertidos, omitidos y errores.
- Nuevo: Manejo de entradas inválidas al elegir pista de audio → repregunta hasta recibir un número correcto, evitando saltarse archivos.
- Mejora: Mensajes de error y avisos más claros y naturales, adaptados al usuario final.
- Mejora: Flujo limpio y un único bucle de conversión.
- Mejora: Limpieza del
log→ eliminado el CMD: de ffmpeg para no ensuciar la salida. - Mejora: Revisión completa de exit y continue → ahora sólo se usa exit cuando no hay .mkv; dentro del bucle se usa «continue» para seguir el lote.
v1.4 – Reestructuración y limpieza profunda
- Nuevo: Gestión de archivos sin pistas de audio → el script detecta y continúa sin fallar.
- Nuevo: Detección de ausencia de archivos *.MKV en el directorio → el script se detiene con aviso.
- Mejora: Salida más clara y depurada en los archivos de
log. - Mejora: Manejo de la carpeta
logs/→ creación automática si no existe y nombres más consistentes. - Mejora: Reescritura interna del script para facilitar futuras implementaciones.
- Cambiado: Función check-version ahora apunta a la nueva ubicación en
Cuaderno_Bitacora/Scripts/Conversor-MKV/. - Cambiado: Mensajes de actualización simplificados → salida unificada en español.
- Eliminado: Referencias a repositorios en inglés (sólo se mantiene enlace en español; el multilenguaje llegará en futuras versiones).
- Mantenido: Compatibilidad con flags –verificar y –check-version para futuras interacciones.

Todos los scripts son de código abierto y los encontrarás en mi repositorio:
Cuaderno de Bitácora Linuxero.
Conversor-MKV
Sistemas soportados:
(Base principal)
y derivadas
y derivadas
Entornos soportados
Compatibilidad parcial con : puede mostrar pequeñas diferencias visuales en los colores ANSI o en el efecto del comando
clear, pero el funcionamiento del script no se ve afectado.
Desde el Manual de Supervivencia Linux las descargas están en formato .tar.gz, para facilitar su descarga y uso.
Descarga
Cómo descomprimir la descarga:
$ tar -xvzf nombre_archivo.tar.gz
O utiliza un Gestor de Archivadores
Nota: los scripts están ya están marcados como ejecutables (chmod +x aplicado) facilitando su uso y automatización.
Bugs / inconsistencias
Si te encuentras con fallos de ejecución o vulnerabilidades
