Имя выходного файла FFMPEG, считываемое из текстового файла

Имя выходного файла FFMPEG, считываемое из текстового файла

Итак, я использую recovery_mp4 в сочетании с ffmpeg для восстановления поврежденных видеофайлов с SD-карты. У меня более 300 файлов, поэтому я пытаюсь автоматизировать процесс.
Я собрал пакетный файл в качестве самого быстрого примера. Переменная "var" успешно передается в первых двух командах, однако FFMPEG, похоже, ее не принимает. Я хотел бы, чтобы FFMPEG создавал исправленные выходные файлы с использованием имени текстового файла + rec (badfile1-rec.mp4)

Я просто упускаю настройку FFMPEG?
Вот мой пакетный файл:

@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

решение1

Я только что взглянул на ваш сценарий. Попробуйте это:

@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

Связанный контент