echo オーディオのビットレートを指定(kbps) 例:64
set Audiobitrate=64
REM ビデオフォーマット設定(出力拡張子で自動的に確定)
set FORMAT=-of lavf
set FOPT=-lavfopts i_certify_that_my_video_stream_does_not_use_b_frames
REM 一応入力側の名前に合わせてみる
set OUTPUT=-o "%~n1.flv"
set INPUT="%~1"
REM ビデオコーデック設定
set VCODEC=-ovc vfw
REM 音声コーデック設定
set ACODEC=-oac mp3lame
set ACOPT=-lameopts abr:br=%Audiobitrate% -af resample=44100
REM その他フィルタオプション(現状は上下反転+LanczosResize512x384)-ffourcc VP6F
set EXTOPT=-vf flip,scale=512:384 -sws 9
REM 2pass用
set VCOPT=-xvfwopts codec=codecs\vp6vfw.dll:compdata=firstpass.mcf
mencoder %FORMAT% %FOPT% %VCODEC% %VCOPT% %ACODEC% %ACOPT% %EXTOPT% %OUTPUT% %INPUT%
set VCOPT=-xvfwopts codec=codecs\vp6vfw.dll:compdata=secondpass.mcf
mencoder %FORMAT% %FOPT% %VCODEC% %VCOPT% %ACODEC% %ACOPT% %EXTOPT% %OUTPUT% %INPUT%
あとは各自試行錯誤でもしてくれってことで。
これが、2パスに必要なバッチファイルである。例の如く、自分好みに変えてある。さて、とりあえず試したい場合は、コーデックの指定を、vp6vfw.dll:compdata=dialogにすれば良い。設定ダイアログが表示されるので、それぞれ、Two Pass - First Pass, Two Pass - Second Passを選べば良い。しかし、それでは人間が応答しなければならない。私の理想は、無人のまま自働エンコードである。そこで、コーデックの設定を、保存しておく必要がある。これには、.mcfというファイルを生成する必要がある。このバッチファイルに添う形では、firstpass.mcfと、secondpass.mcfである。.mcfファイルはどうやって生成するか。それには、vfw2menc.exeを使う。次のように呼び出せば良い。
vfw2menc -f VP62 -d codecs\vp6vfw.dll -s firstpass.mcf
vfw2menc -f VP62 -d codecs\vp6vfw.dll -s secondpass.mcf
それぞれ、1パス目、2パス目を設定する。このようにしておけば、人間が応答することなく2パスエンコードができる。
No comments:
Post a Comment