代码: 全选
md Done
set FF=*.mkv *.mp4
set x264="D:\Program Files\MeGUI\tools\x264\avs4x264mod.exe"
set neroaac="D:\Program Files\MeGUI\tools\NeroAACEnc\neroAacEnc.exe"
set mp4box="D:\Program Files\MeGUI\tools\mp4box\mp4box.exe"
set ffmpeg="D:\Program Files\MeGUI\tools\ffmpeg\ffmpeg.exe"
for /f "delims=" %%a in ('dir %FF% /b') do (
echo LoadPlugin^("D:\Program Files\MeGUI\tools\ffms\ffms2.dll"^) > "%Temp%\%%~na.avs
echo FFVideoSource^("%CD%\%%a", cachefile="%Temp%\%%~na.ffindex", fpsnum = -1^) >> "%Temp%\%%~na.avs"
%ffmpeg% -i "%%a" -vn -f wav pipe:|%neroaac% -ignorelength -he -br 32000 -if - -of "%Temp%\%%~na.m4a"
%x264% --level 5.1 --tune animation --pass 1 --bitrate 500 --stats "%Temp%\%%~na.stats" --deblock 0:0 --min-keyint 1 --scenecut 50 --qpstep 6 --vbv-bufsize 50000 --vbv-maxrate 50000 --vbv-init 0.85 --ratetol 0.95 --qcomp 0.5 --rc-lookahead 75 --aq-strength 0.7 --merange 32 --subme 9 --partitions all --psy-rd 0.60:0 --output NUL "%Temp%\%%~na.avs"
%x264% --level 5.1 --tune animation --pass 2 --bitrate 500 --stats "%Temp%\%%~na.stats" --deblock 0:0 --min-keyint 1 --scenecut 50 --qpstep 6 --vbv-bufsize 50000 --vbv-maxrate 50000 --vbv-init 0.85 --ratetol 0.95 --qcomp 0.5 --rc-lookahead 75 --aq-strength 0.7 --merange 32 --subme 9 --partitions all --psy-rd 0.60:0 --output "%Temp%\%%~na.264" "%Temp%\%%~na.avs"
%mp4box% -add "%Temp%\%%~na.264" -add "%Temp%\%%~na.m4a" -new "%CD%\Done\%%~na.mp4"
del /q "%Temp%\%%~na.m4a"
del /q "%Temp%\%%~na.264"
del /q "%Temp%\%%~na.stats"
del /q "%Temp%\%%~na.stats.mbtree"
del /q "%Temp%\%%~na.ffindex"
move "%%a%" Encoded
)
pause
遇到VFR的mp4源,会出现画面声音不同步的现象。
查询了些资料,发现都是导入timecode,不过自己看的要求没那么高,只希望能转换成CFR的就可以。
求教这个脚本要怎么改?