Convertir MP4 a MP3
De FSF
Programa BAT
- Convertir_MP4_a_MP3.bat
@echo off
setlocal EnableExtensions
rem ============================================================
rem CONVERTIDOR AUTOMATICO DE MP4 A MP3
rem ============================================================
rem
rem Usa FFmpeg para extraer el audio de videos MP4
rem y convertirlo a MP3.
rem
rem MODO 1:
rem Arrastra uno o varios archivos MP4 encima de este BAT.
rem
rem MODO 2:
rem Si abres el BAT con doble clic, convierte todos los MP4 de:
rem E:\00_APP\00_YOUTUBE_Videos\Videos_Descargados
rem
rem Los MP3 se guardan en:
rem E:\00_APP\00_YOUTUBE_Videos\MP3_Convertidos
rem
rem Calidad:
rem MP3 VBR alta calidad para musica: -q:a 2
rem ============================================================
rem ============================================================
rem RUTAS PRINCIPALES
rem ============================================================
set "BASE=E:\00_APP\00_YOUTUBE_Videos"
set "FFMPEG=%BASE%\yt-dlp"
set "ORIGEN=%BASE%\Videos_Descargados"
set "DESTINO=%BASE%\MP3_Convertidos"
set "LOG=%BASE%\registro_conversion_mp3.txt"
rem ============================================================
rem CREAR CARPETA DE DESTINO
rem ============================================================
if not exist "%DESTINO%" (
mkdir "%DESTINO%"
)
rem ============================================================
rem VERIFICAR FFMPEG
rem ============================================================
if not exist "%FFMPEG%\ffmpeg.exe" (
echo.
echo ============================================================
echo ERROR: NO SE ENCONTRO FFMPEG
echo ============================================================
echo.
echo Archivo esperado:
echo "%FFMPEG%\ffmpeg.exe"
echo.
pause
exit /b 1
)
rem ============================================================
rem MOSTRAR INFORMACION
rem ============================================================
cls
echo ============================================================
echo CONVERTIDOR DE MP4 A MP3
echo ============================================================
echo.
echo FFmpeg: %FFMPEG%\ffmpeg.exe
echo Origen: %ORIGEN%
echo Destino: %DESTINO%
echo Calidad: MP3 VBR alta calidad para musica
echo.
echo Fecha: %date%
echo Hora: %time%
echo.
echo ============================================================
echo.
rem ============================================================
rem REGISTRAR INICIO
rem ============================================================
echo.>>"%LOG%"
echo ============================================================>>"%LOG%"
echo INICIO: %date% %time%>>"%LOG%"
echo ORIGEN: %ORIGEN%>>"%LOG%"
echo DESTINO: %DESTINO%>>"%LOG%"
echo CALIDAD: MP3 VBR -q:a 2>>"%LOG%"
echo ============================================================>>"%LOG%"
rem ============================================================
rem MODO 1: ARCHIVOS ARRASTRADOS AL BAT
rem ============================================================
if not "%~1"=="" (
echo Modo: archivos arrastrados al BAT
echo.
:loop_arrastrados
if "%~1"=="" goto fin_conversion
call :convertir "%~1"
shift
goto loop_arrastrados
)
rem ============================================================
rem MODO 2: CONVERTIR TODOS LOS MP4 DE LA CARPETA ORIGEN
rem ============================================================
echo Modo: convertir todos los MP4 de la carpeta origen
echo.
if not exist "%ORIGEN%\*.mp4" (
echo.
echo ============================================================
echo NO SE ENCONTRARON ARCHIVOS MP4
echo ============================================================
echo.
echo Carpeta revisada:
echo "%ORIGEN%"
echo.
echo Puedes cambiar la ruta ORIGEN dentro de este BAT.
echo.
pause
exit /b 0
)
for %%F in ("%ORIGEN%\*.mp4") do (
call :convertir "%%~fF"
)
goto fin_conversion
rem ============================================================
rem FUNCION: CONVERTIR ARCHIVO
rem ============================================================
:convertir
set "ARCHIVO=%~1"
set "NOMBRE=%~n1"
set "SALIDA=%DESTINO%\%NOMBRE%.mp3"
echo ------------------------------------------------------------
echo Convirtiendo:
echo "%ARCHIVO%"
echo.
echo ARCHIVO: "%ARCHIVO%">>"%LOG%"
if exist "%SALIDA%" (
echo Ya existe el MP3. Se omite:
echo "%SALIDA%"
echo OMITIDO, YA EXISTE: "%SALIDA%">>"%LOG%"
echo.
exit /b 0
)
"%FFMPEG%\ffmpeg.exe" ^
-hide_banner ^
-i "%ARCHIVO%" ^
-vn ^
-map 0:a:0 ^
-codec:a libmp3lame ^
-q:a 2 ^
"%SALIDA%"
if "%ERRORLEVEL%"=="0" (
echo.
echo MP3 creado correctamente:
echo "%SALIDA%"
echo OK: "%SALIDA%">>"%LOG%"
) else (
echo.
echo ERROR al convertir:
echo "%ARCHIVO%"
echo ERROR: "%ARCHIVO%">>"%LOG%"
)
echo.
exit /b 0
rem ============================================================
rem FINAL
rem ============================================================
:fin_conversion
echo.
echo ============================================================
echo CONVERSION TERMINADA
echo ============================================================
echo.
echo Carpeta de salida:
echo "%DESTINO%"
echo.
echo Fecha final: %date%
echo Hora final: %time%
echo ============================================================
echo FIN: %date% %time%>>"%LOG%"
echo ============================================================>>"%LOG%"
echo.
pause
endlocal