
Итак, я использую 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