@echo off cd /d %~dp0 set DOPT=-he set DRAT=-br 64000 set DVRAT=1350 echo *************************************** echo ** 音声エンコード ** echo ** オプション指定 ** echo ** AAC-LC=-lc HE-AAC=-he 無記入=-he ** echo *************************************** set /p OPT= echo ********************************************** echo ** 音声ビットレート指定(-mode bps) ** echo ** ABRの例「-br 128000」 ** echo ** VBRの例「-q 0.4」(0.4=128k 0.5=192k相当) ** echo ** 無記入 = -br 64000 ** echo ********************************************** set /p RAT= echo ********************************************** echo ** 映像ビットレート指定(kbps) ** echo ** 無記入 = 1350 ** echo ********************************************** set /p VRAT= if "%OPT%"=="" SET OPT=%DOPT% if "%RAT%"=="" SET RAT=%DRAT% if "%VRAT%"=="" SET VRAT=%DVRAT% rem 作業開始 echo *************************************** echo **   音声出力   ** echo *************************************** avs2wav %~1 tempwav.wav echo *************************************** echo ** エンコード中(音声) ** echo *************************************** neroAacEnc -ignorelength %OPT% %RAT% -if "tempwav.wav" -of "tempwav.mp4" echo *************************************** echo ** エンコード中(映像) ** echo *************************************** rem 映像をAVSを元にx264でエンコードする rem ビットレート値の指定は「--bitrate 1000」のように指定。このサンプルではユーザーが入力 rem 右側にある--output部分に先ほど作ったAVSと、出力する映像を指定 rem 出力形式は.264(raw形式)と.mp4の2つで、サンプルではmp4で出力 rem このサンプルは2PASS出力する場合なので、1PASSでよければ--pass 2の行を削除する rem --threads auto以下は無視で問題なし (progressだけONでエンコードのステータス表示をしています) rem --stats "sample.stats"は解析ファイルの名前になります echo 1pass目エンコード開始…%time% x264 --pass 1 --bitrate %VRAT% --level 4 --stats "sample.stats" --keyint 240 --min-keyint 1 --scenecut 70 --bframes 10 --weightb --direct auto --filter 3,3 --analyse p8x8,b8x8,i4x4 --8x8dct --trellis 2 --merange 32 --qpstep 6 --ref 6 --mixed-refs --subme 7 --no-fast-pskip --threads auto --thread-input --progress --no-dct-decimate --no-psnr --no-ssim --output "temp.mp4" %~1 echo 1pass目エンコード終了。2pass目エンコード開始…%time% x264 --pass 2 --bitrate %VRAT% --level 4 --stats "sample.stats" --keyint 240 --min-keyint 1 --scenecut 70 --bframes 10 --weightb --direct auto --filter 3,3 --analyse p8x8,b8x8,i4x4 --8x8dct --trellis 2 --merange 32 --qpstep 6 --ref 6 --mixed-refs --subme 7 --no-fast-pskip --threads auto --thread-input --progress --no-dct-decimate --no-psnr --no-ssim --output "temp.mp4" %~1 echo 2pass目エンコード終了…%time% echo *************************************** echo ** 音声と画像の結合 ** echo *************************************** rem mp4boxを使い、x264でエンコードした映像のMP4と、neroArcEncでエンコードした音声のMP4を合成 rem -addで映像、音声の順番でmp4boxに読み込ませ、-newで新規に合成した2つを出力というサンプル rem -splits [size_in_kb] オプションで分割 []の部分にKBでサイズを指定する。ニコニコなら40000 rem 例:mp4box -splits 40000 -add "temp.mp4" -add "tempwav.mp4" -new "%~1.mp4" mp4box -add "temp.mp4" -add "tempwav.mp4" -new "%~1.mp4" echo *************************************** echo ** 完成結果の表示 ** echo *************************************** mp4box -std "%~1.mp4" -info 1 echo *************************************** echo ** 一時ファイルの削除 ** echo *************************************** rem del tempwav.wav rem del temp.mp4 rem del tempwav.mp4 pause exit