El nombre del archivo de salida FFMPEG se lee desde un archivo de texto

El nombre del archivo de salida FFMPEG se lee desde un archivo de texto

Entonces estoy usando recovery_mp4 junto con ffmpeg para reconstruir archivos de video corruptos desde una tarjeta SD. Tengo más de 300 archivos, así que estoy intentando automatizar el proceso.
Reuní un archivo por lotes como ejemplo más rápido. La variable "var" se pasa correctamente en los dos primeros comandos; sin embargo, FFMPEG no parece aceptarla. Me gustaría que FFMPEG cree los archivos de salida fijos usando el nombre del archivo de texto + rec (badfile1-rec.mp4)

¿Me falta una configuración con FFMPEG?
Este es mi archivo por lotes:

@echo off
for /f "delims=" %%a in (bad-videos.txt) do set var=%%a&call :process
:process
    call ""c:\recover\bin\recover_mp4.exe good.mp4 --analyze""
    timeout 5
    call ""c:\recover\bin\recover_mp4.exe %var% recovered.h264 recovered.aac""
    timeout 5
    call ""c:\recover\bin\ffmpeg.exe -r 30 -i recovered.h264 -i recovered.aac -bsf:a aac_adtstoasc -c:v copy -c:a copy %var%-rec.mp4""
    timeout 60
goto :eof

Respuesta1

Acabo de echar un vistazo a tu guión. Prueba esto:

@echo off
for /f "delims=" %%a in (bad-videos.txt) do set var=%%a&call :process
goto :eof
:process
    call ""c:\recover\bin\recover_mp4.exe good.mp4 --analyze""
    timeout 5
    call ""c:\recover\bin\recover_mp4.exe %var% recovered.h264 recovered.aac""
    timeout 5
    call ""c:\recover\bin\ffmpeg.exe -r 30 -i recovered.h264 -i recovered.aac -bsf:a aac_adtstoasc -c:v copy -c:a copy %var%-rec.mp4""
    timeout 60
goto :eof

información relacionada