Script de Windows (.bat) para agrupar, concatenar y convertir videos a MP4 con FFmpeg, pensado para funcionar tambien en equipos sin GPU dedicada.
Dedicado a obtener clips .mp4 de alta fidelidad y compatibles entre sistemas.
- Instala FFmpeg y asegurate de que
ffmpegyffprobeesten enPATH. - Copia
convert_to_mp4.baten la carpeta donde estan tus videos. - Ejecuta el script (doble clic o desde CMD/PowerShell).
- Revisa los resultados en la carpeta
mp4\creada junto al script.
- Escanea la carpeta del script y detecta estos formatos:
avi,mkv,vob,vro,mpg,mpeg,mov,ts,m2ts,flv,wmv,mp4. - Agrupa partes por clave numerica:
- Si tienes
11_1,11_2,11_3, las concatena en un solo archivo de salida (11.mp4). - Los archivos que no siguen ese patron se procesan individualmente.
- Convierte a MP4 con H.264, audio AAC y subtitulos
mov_text(si existen). - Si la codificacion principal falla, reintenta automaticamente por CPU.
- Si el MP4 final queda mas grande que el material original, aplica un segundo proceso para controlar tamano.
- Requisitos minimos:
- Windows con CMD y PowerShell.
ffmpegyffprobedisponibles enPATH.- No requiere GPU dedicada para funcionar.
- En equipos sin aceleracion de hardware, el script usa
libx264por CPU automaticamente.
- Intel Quick Sync es codificacion por hardware integrada en muchos procesadores Intel.
- En este script se usa como
h264_qsvsolo si FFmpeg detecta que esta disponible. - Si no existe, no esta habilitado o falla, el script continua con codificacion por CPU.
- Resultado practico: el script no queda atado a un PC especifico.
- Despues de codificar, el script compara el tamano total de entrada vs salida.
- Si la salida queda mayor, ejecuta una recodificacion en 2 pasadas con bitrate objetivo.
- El objetivo es evitar un MP4 mas grande que el original, manteniendo buena calidad dentro de ese limite.
PREVIEW=1- Modo vista previa: construye los trabajos y muestra que haria, sin codificar.
PREFER_QSV=1|0- Prioriza Quick Sync si existe. Si no, usa CPU.
TEST_CLIP=<clave>- Procesa solo una clave agrupada (ejemplo:
11). LONG_BYTES=<bytes>- Umbral de tamano para considerar un clip como largo/pesado y usar perfil mas rapido.
- Valor por defecto:
8000000000(8 GB).
- Verifica dependencias (
ffmpegyffprobe). - Detecta si
h264_qsvesta disponible. - Indexa y ordena los videos detectados.
- Genera listas
concatpor grupo. - Codifica cada grupo a MP4 con perfil de calidad.
- Si falla la codificacion principal, aplica fallback CPU.
- Si la salida es mayor que la entrada, aplica recodificacion en 2 pasadas para ajustar tamano.
- Audio: AAC
192k, estereo. - Subtitulos: conversion a
mov_textpara compatibilidad MP4. - Archivos temporales: se crean en
_tmp_concaty se eliminan al finalizar.