因此,我将使用 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