encode-video.cmd 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. @echo off
  2. setlocal enableextensions enabledelayedexpansion
  3. set in_files=out.avi
  4. set out_folder=e:\Work\videos\
  5. set video_encoder=E:\Work\video\bin\x264.kmod\x264.2705kMod.x86_64.exe
  6. rem set video_encoder=bin\x265.exe
  7. set "x264_loseless=--opencl --opencl-clbin %out_folder%x264.clbin --colorprim bt709 --transfer bt709 --colormatrix bt709 --qp 0 --keyint 999999 --min-keyint 0 --ref 16 --mixed-refs --no-fast-pskip --bframes 16 --b-adapt 2 --b-pyramid --weightb --direct auto --nf --subme 9 --trellis 2 --partitions all --8x8dct --me tesa --threads 2 --thread-input --aud --progress --no-psnr --no-ssim --rc-lookahead 150 --sync-lookahead 150 --non-deterministic --open-gop "
  8. rem set "x264_stream=--opencl --opencl-clbin %out_folder%x264.clbin --colorprim bt709 --transfer bt709 --colormatrix bt709 --qp 24 --keyint 999999 --min-keyint 0 --threads 2 --thread-input --aud --progress --no-psnr --no-ssim --rc-lookahead 150 --sync-lookahead 150 --non-deterministic --open-gop --cabac"
  9. set "video_encoder_keys=--opencl --opencl-clbin %out_folder%x264.clbin --input-res 1920x1080 --fps 60001/1001 --force-cfr --profile high --level 4.2 --qpmin 20 --qpmax 34 --qpstep 4 --fade-compensate 1.0 --ref 2 --mixed-refs --mbtree 1 --no-fast-pskip --fgo 10 --scenecut 40 --keyint 600 --min-keyint 30 --rc-lookahead 150 --open-gop --bframes 9 --b-pyramid normal --b-adapt 1 --direct auto --8x8dct --no-dct-decimate --me umh --merange 28 --aq-mode 1 --aq-strength 0.5 --subme 9 --cabac --trellis 1 --weightp 1 --no-psy --cqm flat --sar 1:1 --deblock 1:1 --slices 4 --colorprim bt709 --transfer bt709 --colormatrix bt709 --partitions i4x4,i8x8,p8x8,b8x8 --threads auto --sync-lookahead 150 --non-deterministic --cplxblur 20 --seek 0 --frames 0"
  10. rem set "video_encoder_keys=--opencl --opencl-clbin %out_folder%x264.clbin --input-res 640x480 --fps 60 --force-cfr --profile high --level 4.2 --qpmin 20 --qpmax 34 --qpstep 4 --fade-compensate 1.0 --ref 2 --mixed-refs --mbtree 1 --no-fast-pskip --fgo 10 --scenecut 0 --keyint 600 --min-keyint 30 --rc-lookahead 150 --open-gop --bframes 9 --b-pyramid normal --b-adapt 1 --direct auto --8x8dct --no-dct-decimate --me umh --merange 28 --aq-mode 1 --aq-strength 0.5 --subme 9 --cabac --trellis 1 --weightp 1 --no-psy --cqm flat --sar 1:1 --deblock 1:1 --slices 4 --colorprim bt709 --transfer bt709 --colormatrix bt709 --partitions i4x4,i8x8,p8x8,b8x8 --threads auto --sync-lookahead 150 --non-deterministic --cplxblur 20 --frames 0"
  11. rem set "video_encoder_keys=--pmode --pme --input-res 1920x1080 --fps 60001/1001 --min-cu-size 32 --me 2 --subme 7 --max-merge 5 --early-skip --rdpenalty 2 --no-strong-intra-smoothing --keyint 300 --min-keyint 30 --bframes 9 --weightb --bframe-bias 25 --ref 4 --rc-lookahead 16 --scenecut 50 --qp 26 --colormatrix bt709
  12. set audio_encoder=bin\qaac64.exe
  13. set demuxer=bin\ffmpeg.exe
  14. set muxer=bin\ffmpeg.exe
  15. for %%f in (%in_files%) do (
  16. rem echo Loadplugin^("C:\Program Files (x86)\AviSynth\plugins\yadifmod.dll"^) > "%%~nf.avs"
  17. rem echo Loadplugin^("C:\Program Files (x86)\AviSynth\plugins\nnedi3.dll"^) >> "%%~nf.avs"
  18. rem echo LoadPlugin^("C:\Program Files (x86)\AviSynth\plugins\ffms2.dll"^) >> "%%~nf.avs"
  19. rem echo FFVideoSource^("%%~f"^) >> "%%~nf.avs"
  20. rem echo nnedi3^(field=1^) >> "%%~nf.avs"
  21. rem echo Encoding %%~f pass 1
  22. rem echo %video_encoder_keys%
  23. rem %video_encoder% %%~f %video_encoder_keys% --pass 1 --qp 25 --ipratio 1.33 --pbratio 1.33 --output NUL --stats %out_folder%%%~nf.stats --index %%~nf.index
  24. echo Encoding %%~f pass last
  25. %video_encoder% %%~f %x264_loseless% --output %out_folder%%%~nf.264 --index %%~nf.index
  26. rem "mkvtoolnix\mkvmerge.exe" -o "%%~nf.new.mkv" "--default-track" "0:yes" "--forced-track" "0:no" "--aspect-ratio" "0:16/9" "--default-duration" "0:23.976fps" "-d" "0" "-A" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "%%~nf.264" ")" "--language" "0:jpn" "--default-track" "0:yes" "--forced-track" "0:no" "-a" "0" "-D" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "%%~nf.ogg" ")" "--track-order" "0:0,1:0"
  27. rem %demuxer% -i %%~f -vn -map 0:0 -c:a flac %out_folder%%%~nf.flac
  28. rem %audio_encoder% %%~nf.flac -v 256 -o %%~nf.m4a
  29. rem %muxer% -i %out_folder%%%~nf.264 -i %out_folder%%%~nf.m4a -map 0:0 -map 1:0 -vcodec copy -acodec copy -shortest %out_folder%%%~nf.mp4
  30. )
  31. pause