Skip to content

Instantly share code, notes, and snippets.

@erm3nda
Last active August 26, 2026 11:46
Show Gist options
  • Select an option

  • Save erm3nda/3a5d99e5f602df728506403a90630eae to your computer and use it in GitHub Desktop.

Select an option

Save erm3nda/3a5d99e5f602df728506403a90630eae to your computer and use it in GitHub Desktop.
This uses ffmpeg to recompose video after running UVR, just drop files and it will find the right audio tracks to recompose
@echo off
setlocal enabledelayedexpansion
chcp 65001 > nul
echo =======================================================
echo RESTAURADOR DE AUDIO PARA CLIPS DE VIDEO (FFmpeg)
echo =======================================================
echo.
if "%~1"=="" (
call :analizar_directorio "%CD%"
goto fin
)
:loop_argumentos
if "%~1"=="" goto fin
if exist "%~1\" (
echo [CARPETA DETECTADA] "%~1"
call :analizar_directorio "%~1"
) else (
call :evaluar_y_procesar "%~1"
)
shift
goto loop_argumentos
:analizar_directorio
for /R "%~1" %%F in ("*.mp4") do (
call :evaluar_y_procesar "%%~fF"
)
exit /b
:evaluar_y_procesar
set "VIDEO_PATH=%~1"
set "DIR=%~dp1"
set "NAME=%~n1"
set "EXT=%~x1"
:: Ignorar si es un video ya generado anteriormente
echo "%NAME%" | findstr /I "_sin_musica" >nul
if not errorlevel 1 exit /b
set "AUDIO_LIMPIO="
:: 1. Busqueda exacta respetando el prefijo de UVR (ej: 1_export-123_(Vocals).wav)
for /f "delims=" %%A in ('dir /b /a-d "%DIR%*_%NAME%_(Vocals).wav" 2^>nul') do (
set "AUDIO_LIMPIO=%DIR%%%A"
)
:: 2. Busqueda directa si se elimino el numero de prefijo (ej: export-123_(Vocals).wav)
if not defined AUDIO_LIMPIO (
if exist "%DIR%%NAME%_(Vocals).wav" set "AUDIO_LIMPIO=%DIR%%NAME%_(Vocals).wav"
)
if defined AUDIO_LIMPIO (
echo [PROCESANDO] "%NAME%%EXT%"
echo [AUDIO APLICADO] "!AUDIO_LIMPIO!"
ffmpeg -hide_banner -y -i "%VIDEO_PATH%" -i "!AUDIO_LIMPIO!" -c:v copy -map 0:v:0 -map 1:a:0 "%DIR%%NAME%_sin_musica%EXT%"
if !errorlevel! equ 0 (
echo [OK] Generado: "%NAME%_sin_musica%EXT%"
) else (
echo [ERROR] Fall?? el procesado de "%NAME%%EXT%"
)
echo -------------------------------------------------------
) else (
echo [AVISO] No se encontr?? pista de audio vocal asociada para "%NAME%%EXT%"
)
exit /b
:fin
echo.
echo Proceso finalizado.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment