Logo de Linux Mint en duotono

Manual de Supervivencia Linux

Consejos y guías para tu supervivencia
con Linux Mint con MATE.

Comandos de Terminal de GNU/Linux
y Scripts multidistribución

Zona de Scripts

· 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.

  1. Detecta pistas de audio.
  2. Si hay una sola, la selecciona automáticamente.
  3. Si hay varias, pregunta cuál conservar (el usuario deberá escoger el idioma, según su preferencia: spa/eng u otros).
  4. Reconvierte el archivo usando x265, manteniendo subtítulos y todo el encapsulado.
  5. Genera un log detallado por cada archivo en logs/.
  6. Respeta el archivo original: no los borra ni modifica.
  7. 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 ffmpeg completo con x265 habilitado.

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

  • Packman debe 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
VNombreTipoVersiónRepositorio
ffmpeg-6paquete6.1-1.3packman
iffmpeg-5paquete5.1-2.1packman
libx265-199paquete3.5-150400.1.12packman

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 ffmpeg con soporte completo (x264x265VP9AV1, etc.).
    • Los binarios oficiales incluyen --enable-libx265.

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.

Logo 2 MSL

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)
  • Debian y derivadas
  • Fedora
  • OpenSUSE
  • Arch Linux y derivadas

Entornos soportados

MATE GNOME Cinnamon XFCE LXQt

Compatibilidad parcial con KDE/Plasma: 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