Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @ECHO OFF & ECHO NGcode version BETA 0
- IF [%1]==[] ECHO drag+drop .avs & PAUSE & GOTO :EOF
- set AR_num=4
- set AR_den=3
- set sar=--sar 7:6
- set x264_flags=--crf 20 --keyint 600 --preset veryslow --no-fast-pskip --merange 64 --rc-lookahead 250 --bframes 16
- :: fast flags when debugging, comment out line for submissions
- :: set x264_flags=--preset ultrafast
- set NGcode=%~dp0
- set PATH=C:\Users\vehi\Desktop\lib;%PATH%
- set ng_lib="%NGcode%\NGcode.avs"
- set avs="%~1"
- call :clean_filename %avs% fn
- ::%NGcode% is where the bat file is
- ::%CD% is where the .avs is
- ::set working_dir=C:\temp\%fn%
- set working_dir=%NGcode%\tmp\%fn%
- set finish_dir=%CD%
- :: set finish_dir=%CD%\%fn%_done
- set mp45="%finish_dir%\%fn%_512kb.mp4"
- set mp4p="%finish_dir%\%fn%.mp4"
- set mp4x="%finish_dir%\%fn%_10bit444.mp4"
- set mkvy="%finish_dir%\%fn%_YT.mkv"
- if not exist "%working_dir%\" mkdir "%working_dir%"
- if not exist "%finish_dir%\" mkdir "%finish_dir%"
- cd "%working_dir%"
- call :make_your_time
- call :make_audio
- call :make_512
- call :make_primary
- call :make_10bit
- call :make_YT
- echo.
- echo ]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]]
- echo ] Remember to delete the temp files [
- echo [[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
- echo.
- pause
- goto:eof
- :make_your_time
- if exist times.txt if exist dupinfo.txt goto:eof
- (
- echo Import^(%ng_lib%^)
- echo TestSource^(%avs%^)
- echo ExactDedup
- ) > times.avs
- avs2pipemod -benchmark times.avs
- goto:eof
- :make_audio
- if exist a.mp4 if exist a_track1.nhml goto:eof
- (
- echo Import^(%ng_lib%^)
- echo AviSource^(%avs%^)
- echo AudioTrimSample^(4672^)
- ) > aac.avs
- avs2pipemod -extwav aac.avs | neroAacEnc -q 0.25 -ignorelength -if - -of a.mp4
- MP4Box a.mp4 -nhml 1
- goto:eof
- :make_512
- if exist %mp45% goto:eof
- (
- echo Import^(%ng_lib%^)
- echo AviSource^(%avs%^)
- echo Resize512^(%AR_num%, %AR_den%^)
- echo RGBtoYV12
- ) > 5.avs
- set flags=%x264_flags% 5.avs -o 5.mp4 --input-range pc --range pc
- x264_8 %flags% --slow-firstpass --pass 1 2>&1 | mtee x264_1pass.log
- FOR /F "tokens=7 delims=. " %%G IN ('TYPE x264_1pass.log ^| FIND "encoded"') DO (
- IF %%G GTR 520 (
- x264_8 %flags% --bitrate 512 --pass 2 --nr 1000
- )
- )
- MP4Box -add 5.mp4 -add a.mp4 -hint -new %mp45%
- goto:eof
- :make_primary
- if exist %mp4p% goto:eof
- (
- echo Import^(%ng_lib%^)
- echo AviSource^(%avs%^)
- echo ExactDedup^(firstpass=false^)
- echo RGBtoYV12
- ) > p.avs
- x264_8 %x264_flags% p.avs -o p.264 --tcfile-in times.txt %sar% --input-range pc --range pc
- MP4Box -add p.264 -new p.mp4
- MP4Box p.mp4 -nhml 1
- NHMLFixup2 -t times.txt p_track1.nhml a_track1.nhml
- MP4Box -add p_track1.nhml -add a_track1.nhml -new %mp4p%
- goto:eof
- :make_10bit
- if exist %mp4x% goto:eof
- (
- echo Import^(%ng_lib%^)
- echo AviSource^(%avs%^)
- echo ExactDedup^(firstpass=false^)
- ) > x.avs
- x264_10 %x264_flags% x.avs -o x.264 --tcfile-in times.txt %sar% --output-csp i444 --range pc
- MP4Box -add x.264 -new x.mp4
- MP4Box x.mp4 -nhml 1
- NHMLFixup2 -t times.txt x_track1.nhml a_track1.nhml
- MP4Box -add x_track1.nhml -add a_track1.nhml -new %mp4x%
- goto:eof
- :make_YT
- if exist %mkvy% goto:eof
- avs2pipemod -extwav %avs% > a.wav
- (
- echo Import^(%ng_lib%^)
- echo AviSource^(%avs%^)
- echo TASBlend
- echo PointResize^(8 * width, 8 * height^)
- ) > y.avs
- x264_8 y.avs -o y.mkv --qp 0 --keyint infinite --output-csp i420 --range tv --colormatrix bt470bg
- mkvmerge -o %mkvy% y.mkv a.wav
- goto:eof
- :clean_filename
- :: %1 - input filename
- :: %2 - return varible name
- :: !% ^& these chars could break the batch
- :: \/:*?"<>| these could to, but they shouldn't appear in valid file names
- SETLOCAL EnableDelayedExpansion
- :clean_filename_loop
- SET "filename=%~n1"
- SET "filename=G!filename:&=!G"
- SET filename=%filename:!=%
- SET filename=!filename: =_!
- SET filename=!filename:%%=!
- SET filename=!filename:^^=!
- SET filename=!filename:~1,-1!
- ENDLOCAL & SET %~2=%filename%
- GOTO:EOF
Add Comment
Please, Sign In to add comment