## ## x264出力プラグイン設定ファイル ## # 引数パラメータ参照(参考) # %1 パラメータ文字列全体 # %~1 引用句 (") があればそれを削除する # %~f1 完全修飾パス名を得る # %~d1 ドライブ文字を得る # %~p1 パス名だけを得る # %~n1 ファイル名だけを得る # %~x1 拡張子だけを得る # %~s1 短い名前を得る # %~a1 ファイルの属性を得る # %~t1 ファイルのタイムスタンプを得る # %~z1 ファイルサイズを得る # %1 outfile 出力ファイル名 # %2 exefile 実行ファイル名 # %3 avsfile avsファイル名 # %4 port TCPServerポート番号 # %5 pid プロセスID # %6 fps フレームレート # %7 PAR 画素アスペクト比 # %8 VFR 0:CFR 1:VFR !common # 環境設定 @echo off set OUT=%~dpn1 set EXT=%~x1 set PATH=%~dp2tools;%PATH% set AVS=%3 set PORT=%4 set TMPF=tmp%5__ set PID=%5 set FPS=%6 set PAR=%7 set VFR=%8 touch %1 #作業用フォルダへ移動 %~d1 cd "%~p1" !x264出力 ###### x264とAACのパラメータはここで設定してください ###### set x264OPT=-q 20 -b 2 --level 4 --sar %PAR% --threads auto --thread-input set AAC=faac.exe -q 100 -o "%TMPF%.m4a" - #set AAC=NeroAacEnc.exe -br 128000 -if - -of "%TMPF%.m4a" # エンコード if %VFR% == 0 x264.exe %x264OPT% -o "%TMPF%.mp4" %AVS% if %VFR% == 1 x264itvfr.exe --pid %PID% %x264OPT% -o "%TMPF%.mp4" %AVS% avs2wav %AVS% - | %AAC% # コンテナにMux if %EXT% == .mkv goto mkv if %EXT% == .MKV goto mkv :mp4 mp4box -add "%TMPF%.m4a" "%TMPF%.mp4" move /y "%TMPF%.mp4" "%OUT%.mp4" del "%TMPF%.m4a" exit :mkv mkvmerge -o "%TMPF%.mkv" "%TMPF%.mp4" "%TMPF%.m4a" move /y "%TMPF%.mkv" "%OUT%.mkv" del "%TMPF%.mp4" "%TMPF%.m4a" exit !x264出力(2pass) ###### x264とAACのパラメータはここで設定してください ###### set x264OPT=-B 1024 -b 2 --level 5.1 --sar %PAR% --threads auto --thread-input --analyse p8x8,b8x8,i4x4,p4x4 --keyint 100 --me esa set AAC=faac.exe -q 100 -o "%TMPF%.m4a" - #set AAC=NeroAacEnc.exe -br 128000 -if - -of "%TMPF%.m4a" # エンコード if %VFR% == 0 x264.exe --pass 1 --stats "%TMPF%.log" %x264OPT% -o "%TMPF%.mp4" %AVS% if %VFR% == 0 x264.exe --pass 2 --stats "%TMPF%.log" %x264OPT% -o "%TMPF%.mp4" %AVS% if %VFR% == 1 x264itvfr.exe --pass 1 --stats "%TMPF%.log" --pid %PID% %x264OPT% -o "%TMPF%.mp4" %AVS% if %VFR% == 1 x264itvfr.exe --pass 2 --stats "%TMPF%.log" --pid %PID% %x264OPT% -o "%TMPF%.mp4" %AVS% del "%TMPF%.log" avs2wav %AVS% - | %AAC% # コンテナにMux if %EXT% == .mkv goto mkv if %EXT% == .MKV goto mkv :mp4 mp4box -add "%TMPF%.m4a" "%TMPF%.mp4" move /y "%TMPF%.mp4" "%OUT%.mp4" del "%TMPF%.m4a" exit :mkv mkvmerge -o "%TMPF%.mkv" "%TMPF%.mp4" "%TMPF%.m4a" move /y "%TMPF%.mkv" "%OUT%.mkv" del "%TMPF%.mp4" "%TMPF%.m4a" exit !x264出力(2pass中間出力) ## ## Huffyuv CodecとNeroAacenc.exeが必要です。 ## ###### x264とAACのパラメータはここで設定してください ###### set x264OPT=-B 2000 -b 2 --level 4 --sar %PAR% --threads auto --thread-input set AAC=NeroAacEnc.exe -2pass -br 128000 -ignorelength -if "%TMPF%.wav" -of "%TMPF%.m4a" # 中間出力 echo TCPSource("127.0.0.1",%PORT%) > "%TMPF%.avs" echo ConvertToYUY2() >> "%TMPF%.avs" echo return last >> "%TMPF%.avs" avs2avi "%TMPF%.avs" "%TMPF%.avi" -w -c HFYU # エンコード echo OpenDMLSource("%TMPF%.avi") > "%TMPF%.avs" echo ConvertToYV12() >> "%TMPF%.avs" echo return last >> "%TMPF%.avs" if %VFR% == 0 x264.exe --pass 1 --stats "%TMPF%.log" %x264OPT% -o "%TMPF%.mp4" "%TMPF%.avs" if %VFR% == 0 x264.exe --pass 2 --stats "%TMPF%.log" %x264OPT% -o "%TMPF%.mp4" "%TMPF%.avs" if %VFR% == 1 x264itvfr.exe --pass 1 --stats "%TMPF%.log" --pid %PID% %x264OPT% -o "%TMPF%.mp4" "%TMPF%.avs" if %VFR% == 1 x264itvfr.exe --pass 2 --stats "%TMPF%.log" --pid %PID% %x264OPT% -o "%TMPF%.mp4" "%TMPF%.avs" del "%TMPF%.log" "%TMPF%.avi" "%TMPF%.avs" avs2wav %AVS% "%TMPF%.wav" %AAC% del "%TMPF%.wav" # コンテナにMux if %EXT% == .mkv goto mkv if %EXT% == .MKV goto mkv :mp4 mp4box -add "%TMPF%.m4a" "%TMPF%.mp4" move /y "%TMPF%.mp4" "%OUT%.mp4" del "%TMPF%.m4a" exit :mkv mkvmerge -o "%TMPF%.mkv" "%TMPF%.mp4" "%TMPF%.m4a" move /y "%TMPF%.mkv" "%OUT%.mkv" del "%TMPF%.mp4" "%TMPF%.m4a" exit