Procesamiento de archivos en lote: extraer .rar y convertir MKV en batch
Procesamiento de archivos en lote: extraer .rar y convertir MKV en batch
Cuando tenés una carpeta llena de archivos para procesar, un loop bash lo resuelve sin necesidad de abrir ninguna GUI.
Extraer todos los .rar de un directorio
1
for f in *.rar; do unrar e "$f"; done
unrar e extrae los archivos sin preservar la estructura de directorios (todo va a la carpeta actual). Si querés preservar la estructura de carpetas, usá unrar x en lugar de unrar e.
Si los .rar son partes de un único archivo (.part1.rar, .part2.rar, etc.), basta con ejecutarlo en el primero:
1
unrar e arquivo.part1.rar
unrar encuentra las otras partes automáticamente.
Convertir todos los .mkv a .mp4
1
for f in *.mkv; do ffmpeg -hide_banner -i "$f" -c:v libx264 -c:a copy "$f.mp4"; done
-hide_banner→ suprime el largo encabezado de ffmpeg-c:v libx264→ re-encoda el video en H.264 (compatible con prácticamente todo)-c:a copy→ copia el audio sin re-encodar (más rápido y sin pérdida)"$f.mp4"→ el nombre de salida quedavideo.mkv.mp4— si querésvideo.mp4, usá"${f%.mkv}.mp4"
Versión con nombre limpio:
1
for f in *.mkv; do ffmpeg -hide_banner -i "$f" -c:v libx264 -c:a copy "${f%.mkv}.mp4"; done
Consideraciones de performance
La conversión de video es intensiva en CPU. Si tenés una GPU NVIDIA y ffmpeg compilado con soporte a NVENC, podés acelerar mucho:
1
ffmpeg -i "$f" -c:v h264_nvenc -c:a copy "${f%.mkv}.mp4"
Para Intel con Quick Sync:
1
ffmpeg -i "$f" -c:v h264_qsv -c:a copy "${f%.mkv}.mp4"
Pero para uso general, libx264 con -preset fast ya es un buen equilibrio:
1
ffmpeg -i "$f" -c:v libx264 -preset fast -c:a copy "${f%.mkv}.mp4"
Esta entrada está licenciada bajo
CC BY 4.0
por el autor.