テキストファイルから読み取られるFFMPEG出力ファイル名

テキストファイルから読み取られるFFMPEG出力ファイル名

そこで、SD カードから破損したビデオ ファイルを再構築するために、recover_mp4 を ffmpeg と組み合わせて使用​​しています。300 以上のファイルがあるため、プロセスを自動化しようとしています。
最も簡単な例として、バッチ ファイルをまとめてみました。最初の 2 つのコマンドでは「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

関連情報