x264のパラメーター変更したので再公開です。
FEZ-SNSで公開してる動画共有サイト向けのH.264エンコードバッチファイルをココでも公開します。
ゲーム動画の画質と容量の妥協点はこんなもんかな?という設定になっています。
<用意する物>
・Avisynth (Ver.2.5.8にて動作確認)
http://sourceforge.net/projects/avisynth2/
・x264 (r1145にて動作確認)
http://x264.nl/
・Nero AAC Codec (neroAacEnc)
http://www.nero.com/jpn/technologies-aac-codec.html
・WAVI
http://sourceforge.net/projects/wavi-avi2wav/
・MP4box
http://kurtnoise.free.fr/index.php?dir=mp4tools/
・hqdn3d
http://akuvian.org/src/avisynth/hqdn3d/
<インストール方法>
・Avisynthは事前にインストールしておいてください
・用意したファイルは以下のディレクトリ構成で配置してください
\H264encoder
+ \mp4tools
| + mp4box.exe
| + neroAacEnc.exe
| + wavi.exe
| + x264.exe
| + hqdn3d.dll
|
+ h264enc.bat
<エンコード方法>
エンコードしたいファイルをh264enc.batに放り込んでください。
それだけです。
複数のファイルを纏めてドラッグすれば順番にエンコードしてくれます。
<ビットレートとか解像度とかの設定>
h264enc.bat を直接編集してください。
< バッチファイル>
以下がバッチファイルの中身なので、h264enc.batの中身にコピペしてください。
@echo off
rem Video Bitrate 単位は Kbps
set bitrate_v=1500
rem Audio Bitrate 単位は bps
set bitrate_a=128000
rem 解像度の設定 リサイズ処理をしない場合は、元ファイルのサイズを設定
rem 元のファイルのアスペクト比に従って設定してください。
set width=640
set height=480
rem 補正のパラメタはAviUtlの色調補正とほぼ互換、 0を基準に±256
rem ガンマ補正 暗く (-)----0----(+) 明るく 補正しない場合は 0を設定
rem 捕捉
rem アマレココでは、ゲーム内のガンマ設定が反映された状態で撮影されてるようです。
rem dxtoryでは、ゲーム内のガンマ設定は未反映な状態で撮影されてるようです。
set gamma=20
rem 上下の黒帯の幅 (ニコニコでは上下左右に黒帯を追加して4:3または16:9にしてください)
rem 黒帯処理を行う場合は、このファイルの57,58行目の設定を確認してください。
set top=32
set bottom=32
set left=0
set right=0
rem 環境変数の設定
set cmddrv=%~d0
set cmddir=%~p0
set toolsdir=%cmddrv%%cmddir%mp4tools
set TemporaryFile=%TEMP%\mp4enc_tmp
set InputAVS=%TEMP%\mp4enc.avs
rem エンコードパラメータの設定
set x264cmd= --preset slow
rem ファイル名の設定
:loop
if "%~1"=="" goto end
set InputFile=%~1
set OutputFile=%~dpn1.mp4
rem Avisynthスクリプトの出力
echo LoadPlugin("%toolsdir%\hqdn3d.dll") > "%InputAVS%"
echo AviSource ( "%InputFile%" ) >> "%InputAVS%"
echo ConvertToYV12() >> "%InputAVS%"
echo Spline64Resize (%width%,%height%) >> "%InputAVS%"
echo ColorYUV(gamma_y=%gamma% ) >> "%InputAVS%"
echo hqdn3d(2) >> "%InputAVS%"
rem 黒枠追加を行う場合は ↓のremを外してください。
rem echo AddBorders( %left%, %top%, %right%, %bottom%) >> "%InputAVS%"
echo %InputFile% のエンコードを開始します。
rem 音声の抽出
echo 音声の抽出を開始します。
"%toolsdir%\wavi" "%InputAVS%" "%TemporaryFile%.wav"
rem AACエンコード profileはbitrateから自動設定
echo 音声のエンコードを開始します。
"%toolsdir%\neroAacEnc" -br %bitrate_a% -if "%TemporaryFile%.wav" -of "%TemporaryFile%.aac"
del "%TemporaryFile%.wav"
rem H.264エンコード
echo H.264エンコード 1st passを開始します。
"%toolsdir%\x264.exe" --pass 1 --stats "%TemporaryFile%" -B %bitrate_v% %x264cmd% --output NUL "%InputAVS%"
echo H.264エンコード 2nd passを開始します。
"%toolsdir%\x264.exe" --pass 2 --stats "%TemporaryFile%" -B %bitrate_v% %x264cmd% --output "%TemporaryFile%.mp4" "%InputAVS%"
rem mux処理
echo 映像と音声のMUXを開始します。
"%toolsdir%\MP4Box" -add "%TemporaryFile%.mp4" -add "%TemporaryFile%.aac" "%OutputFile%"
echo %OutputFile% を作成しました。
del "%TemporaryFile%.aac"
del "%TemporaryFile%.mp4"
del ""%InputAVS%""
shift
goto loop
:end
rem シャットダウンしたい場合は、↓の rem を消す
rem shutdown -s
pause