【FFmpeg】エンコードが捗るバッチ2pass対応バージョン修正版【x264】

以前の物は”動作を停止しました”で終了してしまうのでちょい修正。
修正と言うより追加(太字部分)

SET PATH=%PATH%;D:\ffmpeg\bin
setlocal
echo %1
set x=%~p1
set x=%x:~0,-1%
echo %x%
for /F “tokens=3 delims=\\” %%a in (‘echo “%x%”‘) do set name=%%~na
echo %name%
mkdir “E:\anime\%name%”
ffmpeg -i %1 -c:v libx264 -preset slow -an -pass 1 -crf 23 -bsf:a aac_adtstoasc -c:a copy -vf “yadif=0:-1:1, scale=trunc(sar*iw/(ih/oh)/hsub)*hsub:trunc(min(ih\,720)/vsub)*vsub” “E:\anime\%name%\%name% #%~n1.mp4”
for /F “tokens=2 delims=, ” %%a in (‘ffprobe “E:\anime\%name%\%name% #%~n1.mp4” 2^>^&1^| find “Duration:”‘) do set Duration=%%a
set Duration=%Duration:~0,-3%
ffmpeg -y -i %1 -c:v libx264 -preset slow -b:v 2000k -pass 2 -t %Duration% -crf 23 -bsf:a aac_adtstoasc -c:a copy -vf “yadif=0:-1:1, scale=trunc(sar*iw/(ih/oh)/hsub)*hsub:trunc(min(ih\,720)/vsub)*vsub” “E:\anime\%name%\%name% #%~n1.mp4”
del E:\movie\*.log
del E:\movie\*.mbtree
endlocal

Durationがhh:mm:ss.xxになっているので、.xxを除去するようにしたらちゃんとエンコードできました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です