H.264エンコード・バッチファイル

2009-10-31 / 技術メモ / 1 Comments

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

Read More

Googleすげーw

2009-10-08 / 日記 / 0 Comments

AAGoogleでAAを検索すると・・・

Googleのアイコンがアスキーアートにwwwwww

芸が細かいぜGoogle先生!

Read More

言葉に出来ない

2009-10-05 / 日記 / 0 Comments

中川昭一さんが亡くなられました。

マスゴミからの執拗な粘着攻撃に潰されてしまいましたが、
世界経済では多大な功績を残された方でした。
将来的には総理も狙える方だと思ってましたので残念でなりません。

自民党が与党に復帰したら開けようと思っていた「竹鶴21年」の封を切りました。
中川昭一さんへの哀悼の意を表して、献杯

Read More

postfixでSMTP認証が必要なメールサーバーにrelayする

2009-10-01 / 技術メモ / 0 Comments

固定IPのISPから普通の個人向けのISPに移行したためOPB25Bの対象となってしまいました。

自宅サーバーからのメールはISPのメールサーバーに単純にRelayすれば良いと甘く考えていたのですが……

新ISPの設定情報を確認したところ……
Submissionポート専用、これは良い。
え? TLS接続のみ?
SMTP認証必須ですか???

困った……

という訳で、postfixでSMTP認証が必要なメールサーバーにrelayする方法を調べてみました。

まず、postfixがsaslとTLSに対応している必要があります。
これに関しては、使いもしないのに対応版でコンパイルしてたので問題なし、OK!です。

機能的には問題ないので、後は設定の問題です。

まず、main.cfに以下の設定を追加

relayhost = smtp.hogehoge.jp:587
smtp_sasl_auth_enable = yes
smtp_sasl_password_maps = hash:/usr/local/etc/postfix/authinfo
smtp_sasl_security_options = noanonymous
smtp_sasl_mechanism_filter = plain, login
smtp_enforce_tls = yes
smtp_tls_enforce_peername = no

/usr/local/etc/postfix/authinfoにsmtp認証のユーザー情報を記述

smtp.hogehoge.jp??? username:password

あとはpostmap /usr/local/etc/postfix/authinfo してからpostfixの再起動

とりあえず、これでTLS接続してSMTP認証してrelay転送が出来ました。

Read More

痔ろうの発端?

2009-10-01 / 日記 / 0 Comments

昔、ストレスで壊れて鬱病になる直前の時期に下血してたんだけど、
今考えると痔ろうの一次口が出来て出血してたのかもしれんな。

手術前の大腸内視鏡検査で、大腸は健康そのものって言われたし。

下血した時点で病院にいってれば痔ろうで苦しむ事も無かったのかもしれん。
まあ、あの頃は検査に行けるような状況や精神状態じゃなかったんだけどね……

Read More