Convertir MP4 a MP3

De FSF
Convertidor de MP4 a MP3
complemento del script que baja videos de youtube

Programas BAT para convertir videos a MP3
Herramientas locales para extraer audio de videos MP4 y preparar archivos para WikiFSF

Resumen

🎧 Herramientas creadas
Programa 1 Convertidor general de MP4 a MP3.
Programa 2 Convertidor MP4 a MP3 optimizado para WikiFSF, con límite menor a 64 MB.
Base original BAT previo usado para descargar videos de YouTube con yt-dlp y FFmpeg.
Objetivo Automatizar el flujo: descargar video → convertir audio → preparar archivo para archivo personal o WikiFSF.
Sistema pensado Windows.
Ruta base usada E:\00_APP\00_YOUTUBE_Videos

Base original del sistema

El sistema parte de un BAT previo creado para descargar videos de YouTube mediante yt-dlp y FFmpeg. Ese programa ya tenía una estructura clara:

Elemento Ruta / función
BASE E:\00_APP\00_YOUTUBE_Videos
yt-dlp %BASE%\yt-dlp\yt-dlp.exe
FFmpeg %BASE%\yt-dlp\ffmpeg.exe
FFprobe %BASE%\yt-dlp\ffprobe.exe
Videos descargados %BASE%\Videos_Descargados
Lista de URLs %BASE%\videos.txt
Historial %BASE%\videos_descargados.txt
Registro %BASE%\registro_descargas.txt

Esta base original ya resolvía la parte más importante: tener videos MP4 descargados de forma ordenada y contar con FFmpeg disponible para procesarlos.


Programa 1: Convertidor general MP4 a MP3

🎵 Convertir_MP4_a_MP3.bat
Nombre sugerido Convertir_MP4_a_MP3.bat
Función Convierte videos MP4 en archivos MP3 de buena calidad.
Entrada Archivos .mp4.
Salida Archivos .mp3.
Carpeta origen por defecto E:\00_APP\00_YOUTUBE_Videos\Videos_Descargados
Carpeta destino E:\00_APP\00_YOUTUBE_Videos\MP3_Convertidos
Calidad usada MP3 VBR con -q:a 2.
Uso ideal Música, audios completos, conferencias, audiolibros o respaldos personales.

Cómo se usa

Modo Acción Resultado
Arrastrar archivo Arrastrar uno o varios MP4 encima del BAT. Convierte sólo esos archivos.
Doble clic Ejecutar el BAT directamente. Convierte todos los MP4 encontrados en la carpeta origen.
Salida automática Revisar la carpeta MP3_Convertidos. Ahí aparecen los MP3 generados.

Ventaja principal

Este programa es el convertidor normal. Prioriza buena calidad de audio y facilidad de uso. Es útil cuando no importa demasiado el tamaño final del archivo.


Programa 2: Convertidor para WikiFSF menor a 64 MB

📁 Convertir_MP4_a_MP3_WikiFSF_64MB.bat
Nombre sugerido Convertir_MP4_a_MP3_WikiFSF_64MB.bat
Función Convierte MP4 a MP3 procurando que el archivo final pese menos de 64 MB.
Entrada Archivos .mp4.
Salida Archivos .mp3 optimizados para subir a WikiFSF.
Carpeta origen por defecto E:\00_APP\00_YOUTUBE_Videos\Videos_Descargados
Carpeta destino E:\00_APP\00_YOUTUBE_Videos\MP3_WikiFSF_64MB
Límite objetivo Menor a 64 MB.
Estrategia Detecta duración, calcula bitrate, convierte a mono y baja calidad si hace falta.
Uso ideal Audios para subir directamente a WikiFSF.

Cómo funciona

Paso Proceso Propósito
1 Lee el archivo MP4 original. Usar el video como fuente de audio.
2 Usa FFprobe para detectar duración. Calcular cuánto puede pesar el MP3.
3 Calcula un bitrate aproximado. Apuntar a un tamaño final seguro.
4 Convierte el audio a MP3 mono. Reducir peso sin destruir la voz.
5 Verifica el tamaño final. Confirmar que sea menor a 64 MB.
6 Si pesa demasiado, baja calidad e intenta otra vez. Garantizar compatibilidad con WikiFSF.

Cómo se usa

Modo Acción Resultado
Arrastrar archivo Arrastrar uno o varios MP4 encima del BAT. Genera MP3 optimizados para WikiFSF.
Doble clic Ejecutar el BAT directamente. Procesa todos los MP4 de la carpeta origen.
Salida automática Revisar MP3_WikiFSF_64MB. Ahí aparecen los archivos listos para subir.


Diferencias entre ambos programas

Característica Convertidor general Convertidor WikiFSF 64 MB
Archivo BAT Convertir_MP4_a_MP3.bat Convertir_MP4_a_MP3_WikiFSF_64MB.bat
Prioridad Calidad de audio. Tamaño compatible con WikiFSF.
Salida MP3_Convertidos MP3_WikiFSF_64MB
Audio Estéreo o según fuente original. Mono para reducir peso.
Control de tamaño No verifica límite de 64 MB. Sí verifica tamaño final.
Uso recomendado Archivo personal, música, respaldo normal. Subida a WikiFSF.
Si el archivo queda grande No corrige automáticamente. Baja calidad e intenta de nuevo.


Flujo recomendado de trabajo

Paso Herramienta Resultado
1 BAT descargador de YouTube Se obtiene el video MP4 en Videos_Descargados.
2 Convertir_MP4_a_MP3.bat Se obtiene MP3 de buena calidad para archivo personal.
3 Convertir_MP4_a_MP3_WikiFSF_64MB.bat Se obtiene MP3 reducido para subir a WikiFSF.
4 WikiFSF Se sube el archivo si pesa menos de 64 MB.

Recomendación práctica

✅ Uso recomendado
Usar el convertidor general para conservar una copia de buena calidad y usar el convertidor WikiFSF sólo para crear la versión ligera que será subida a la wiki. Así se conserva un archivo maestro y una versión optimizada.

Notas técnicas breves

Comando / ajuste Significado
-vn Ignora el video y extrae sólo audio.
-map 0:a:0 Usa la primera pista de audio disponible.
libmp3lame Codificador MP3 usado por FFmpeg.
-q:a 2 Buena calidad variable para MP3.
-b:a 64k Bitrate fijo reducido.
-ac 1 Convierte el audio a mono.
-ar 32000 Reduce frecuencia de muestreo para bajar peso.
ffprobe Herramienta que detecta duración y datos del archivo.


Problemas comunes

Problema Causa probable Solución
No encuentra FFmpeg La ruta no coincide. Revisar que exista %BASE%\yt-dlp\ffmpeg.exe.
No encuentra FFprobe Falta ffprobe.exe. Copiarlo a la misma carpeta donde está FFmpeg.
No convierte nada con doble clic No hay MP4 en la carpeta origen. Colocar videos en Videos_Descargados.
El MP3 sigue pesando más de 64 MB El audio es demasiado largo. Dividir el audio en partes o usar un formato más comprimido si la wiki lo permite.
El audio queda con baja calidad El programa bajó bitrate para cumplir el límite. Conservar aparte la versión de buena calidad.


Bloque de documentación rápida

Sistema:
E:\00_APP\00_YOUTUBE_Videos

Programa base:
Descargador automático de YouTube con yt-dlp y FFmpeg.

Programa añadido 1:
Convertir_MP4_a_MP3.bat

Función:
Crear MP3 de buena calidad desde archivos MP4.

Programa añadido 2:
Convertir_MP4_a_MP3_WikiFSF_64MB.bat

Función:
Crear MP3 reducido, menor a 64 MB, pensado para subir a WikiFSF.

Uso:
1. Descargar video.
2. Convertir a MP3 normal si se desea copia de calidad.
3. Convertir a MP3 WikiFSF si se desea subir a la wiki.
4. Verificar tamaño final.
5. Subir archivo a WikiFSF.

Programa BAT

Convertir_MP4_a_MP3.bat - - - Youtube Bajar Videos <<<--- complemento
@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

MP3 - Compacto

Convertir_MP4_a_MP3_WikiFSF_64MB.bat

@echo off
setlocal EnableExtensions EnableDelayedExpansion

rem ============================================================
rem CONVERTIDOR AUTOMATICO DE MP4 A MP3 PARA WIKIFSF
rem ============================================================
rem
rem Objetivo:
rem Crear archivos MP3 menores a 64 MB para poder subirlos a WikiFSF.
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_WikiFSF_64MB
rem
rem Estrategia:
rem 1. Calcula la duracion del audio con ffprobe.
rem 2. Elige un bitrate aproximado para quedar debajo de 60 MB.
rem 3. Convierte a MP3 mono.
rem 4. Verifica que el archivo pese menos de 64 MB.
rem 5. Si pesa mas, baja calidad y vuelve a intentar.
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_WikiFSF_64MB"

set "LOG=%BASE%\registro_conversion_mp3_wikifsf.txt"


rem ============================================================
rem LIMITE DE TAMANO
rem ============================================================
rem 64 MB seguros para WikiFSF.
rem Se usa 64,000,000 bytes para dejar margen practico.
rem El calculo inicial apunta a 60,000,000 bytes.

set "LIMITE_BYTES=64000000"
set "OBJETIVO_BYTES=60000000"


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
)

if not exist "%FFMPEG%\ffprobe.exe" (
    echo.
    echo ============================================================
    echo ERROR: NO SE ENCONTRO FFPROBE
    echo ============================================================
    echo.
    echo Archivo esperado:
    echo "%FFMPEG%\ffprobe.exe"
    echo.
    pause
    exit /b 1
)


rem ============================================================
rem MOSTRAR INFORMACION
rem ============================================================

cls

echo ============================================================
echo        CONVERTIDOR MP4 A MP3 PARA WIKIFSF - 64 MB
echo ============================================================
echo.
echo FFmpeg:       %FFMPEG%\ffmpeg.exe
echo FFprobe:      %FFMPEG%\ffprobe.exe
echo Origen:       %ORIGEN%
echo Destino:      %DESTINO%
echo Limite:       64 MB maximo
echo Objetivo:     60 MB aprox. para margen de seguridad
echo Formato:      MP3 mono
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 LIMITE_BYTES: %LIMITE_BYTES%>>"%LOG%"
echo OBJETIVO_BYTES: %OBJETIVO_BYTES%>>"%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 Tambien puedes arrastrar un MP4 encima de este BAT.
    echo.
    pause
    exit /b 0
)

for %%F in ("%ORIGEN%\*.mp4") do (
    call :convertir "%%~fF"
)

goto fin_conversion


rem ============================================================
rem FUNCION PRINCIPAL: CONVERTIR ARCHIVO
rem ============================================================

:convertir

set "ARCHIVO=%~1"
set "NOMBRE=%~n1"
set "SALIDA=%DESTINO%\%NOMBRE%_WikiFSF_64MB.mp3"
set "TEMP=%DESTINO%\%NOMBRE%_TEMP_WikiFSF.mp3"
set "OK=0"

echo ------------------------------------------------------------
echo Archivo:
echo "!ARCHIVO!"
echo.

echo ARCHIVO: "!ARCHIVO!">>"%LOG%"

if exist "!SALIDA!" (
    for %%S in ("!SALIDA!") do set "SIZE_EXISTE=%%~zS"

    if !SIZE_EXISTE! LEQ %LIMITE_BYTES% (
        echo Ya existe un MP3 valido menor a 64 MB. Se omite:
        echo "!SALIDA!"
        echo OMITIDO, YA EXISTE Y ES MENOR A 64 MB: "!SALIDA!">>"%LOG%"
        echo.
        exit /b 0
    ) else (
        echo Existe un MP3, pero pesa mas de 64 MB. Se reconstruira:
        echo "!SALIDA!"
        echo BORRANDO MP3 MAYOR A 64 MB: "!SALIDA!">>"%LOG%"
        del /q "!SALIDA!" >nul 2>nul
    )
)


rem ============================================================
rem OBTENER DURACION CON FFPROBE
rem ============================================================

set "DURACION="

for /f "usebackq tokens=*" %%D in (`"%FFMPEG%\ffprobe.exe" -v error -show_entries format^=duration -of default^=noprint_wrappers^=1:nokey^=1 "!ARCHIVO!"`) do (
    set "DURACION=%%D"
)

if not defined DURACION (
    set "DURACION=0"
)

echo Duracion detectada: !DURACION! segundos
echo DURACION: !DURACION!>>"%LOG%"


rem ============================================================
rem CALCULAR BITRATE MAXIMO APROXIMADO
rem ============================================================
rem Formula aproximada:
rem bitrate_kbps = objetivo_bytes * 8 / 1000 / duracion_segundos
rem
rem Luego se elige una calidad de esta lista:
rem 128, 112, 96, 80, 64, 56, 48, 40, 32, 24, 16 kbps
rem ============================================================

set "MAXK=64"

for /f %%K in ('powershell -NoProfile -Command "$d=[double]::Parse('!DURACION!',[Globalization.CultureInfo]::InvariantCulture); if($d -le 0){64}else{[math]::Floor((%OBJETIVO_BYTES%*8/1000)/$d)}"') do (
    set "MAXK=%%K"
)

if not defined MAXK (
    set "MAXK=64"
)

set "STARTBIT=16"

for %%B in (128 112 96 80 64 56 48 40 32 24 16) do (
    if !MAXK! GEQ %%B (
        if "!STARTBIT!"=="16" (
            set "STARTBIT=%%B"
        )
    )
)

echo Bitrate maximo calculado: !MAXK! kbps
echo Bitrate inicial elegido:   !STARTBIT! kbps
echo MAXK: !MAXK!>>"%LOG%"
echo STARTBIT: !STARTBIT!>>"%LOG%"
echo.


rem ============================================================
rem INTENTOS DE CONVERSION
rem ============================================================
rem Inicia con el bitrate calculado.
rem Si el resultado pesa mas de 64 MB, baja de calidad.
rem ============================================================

for %%B in (128 112 96 80 64 56 48 40 32 24 16) do (
    if %%B LEQ !STARTBIT! (
        call :intentar_bitrate %%B

        if "!OK!"=="1" (
            goto conversion_exitosa
        )
    )
)


rem ============================================================
rem SI NINGUN INTENTO FUNCIONO
rem ============================================================

echo.
echo ============================================================
echo NO SE LOGRO CREAR UN MP3 MENOR A 64 MB
echo ============================================================
echo.
echo El archivo es demasiado largo incluso con calidad muy baja.
echo Recomendacion:
echo - Dividir el audio en partes.
echo - Usar OGG/OPUS si tu WikiFSF lo permite.
echo - Subirlo externo y enlazarlo.
echo.
echo ERROR: NO SE LOGRO MENOR A 64 MB: "!ARCHIVO!">>"%LOG%"
echo.

exit /b 0


rem ============================================================
rem CONVERSION EXITOSA
rem ============================================================

:conversion_exitosa

for %%S in ("!SALIDA!") do set "FINAL_SIZE=%%~zS"
set /a FINAL_MB=!FINAL_SIZE!/1048576

echo.
echo ============================================================
echo MP3 CREADO PARA WIKIFSF
echo ============================================================
echo.
echo Archivo:
echo "!SALIDA!"
echo.
echo Tamano final aproximado:
echo !FINAL_MB! MB
echo.
echo Estado:
echo LISTO PARA SUBIR A WIKIFSF
echo ============================================================

echo OK FINAL: "!SALIDA!">>"%LOG%"
echo TAMANO_FINAL_BYTES: !FINAL_SIZE!>>"%LOG%"
echo.

exit /b 0


rem ============================================================
rem FUNCION: INTENTAR CON UN BITRATE
rem ============================================================

:intentar_bitrate

set "BIT=%~1"
set "AR=44100"

if !BIT! LEQ 64 set "AR=32000"
if !BIT! LEQ 48 set "AR=22050"
if !BIT! LEQ 24 set "AR=16000"

set "OK=0"

if exist "!TEMP!" (
    del /q "!TEMP!" >nul 2>nul
)

echo Intentando conversion:
echo Bitrate: !BIT! kbps
echo Sample rate: !AR! Hz
echo.

echo INTENTO BITRATE: !BIT! kbps, AR: !AR!>>"%LOG%"

"%FFMPEG%\ffmpeg.exe" ^
-hide_banner ^
-y ^
-i "!ARCHIVO!" ^
-vn ^
-map 0:a:0 ^
-ac 1 ^
-ar !AR! ^
-codec:a libmp3lame ^
-b:a !BIT!k ^
"!TEMP!"

if errorlevel 1 (
    echo.
    echo ERROR: FFmpeg fallo con !BIT! kbps.
    echo ERROR FFMPEG CON BITRATE !BIT!>>"%LOG%"
    echo.
    set "OK=0"
    exit /b 0
)

if not exist "!TEMP!" (
    echo.
    echo ERROR: No se creo archivo temporal.
    echo ERROR: NO SE CREO TEMP>>"%LOG%"
    echo.
    set "OK=0"
    exit /b 0
)

for %%S in ("!TEMP!") do set "SIZE=%%~zS"
set /a SIZE_MB=!SIZE!/1048576

echo Tamano generado: !SIZE_MB! MB
echo SIZE_BYTES_BITRATE_!BIT!: !SIZE!>>"%LOG%"

if !SIZE! LEQ %LIMITE_BYTES% (
    move /y "!TEMP!" "!SALIDA!" >nul
    echo.
    echo Correcto. Archivo menor a 64 MB.
    echo BITRATE_FINAL: !BIT! kbps>>"%LOG%"
    echo.
    set "OK=1"
    exit /b 0
) else (
    echo.
    echo Todavia pesa mas de 64 MB. Bajando calidad...
    echo.
    del /q "!TEMP!" >nul 2>nul
    set "OK=0"
    exit /b 0
)


rem ============================================================
rem FINAL GENERAL
rem ============================================================

:fin_conversion

echo.
echo ============================================================
echo PROCESO TERMINADO
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


🤝ChatGPT 🧩🌐- GPT-5.5 Thinking - 2026-07-08