FFmpegSource2.0を使用してAviSynth Scriptを作成する

HOME > 

概要

動画ファイルを、バッチファイルにドラッグアンドドロップすると、動画ファイルより、wav音声を抽出して、AviSynth Scriptを作成します。

バッチファイルについて

  1. あらかじめ、MediaInfoで、動画ファイルのフレームレートを確認しておきます。
  2. バッチファイルの中で「ソースレートの調整」と「フレームレートの変換」を指定します。
    「ソースレートの調整」は、コーデックチェッカーで調べた、極力正確なフレームレートを指定します。たとえば、29.97と指定するより"ntsc_video"あるいは、30000,1001と指定します。これにより映像の長さと音声の長さが等しくなることが期待されます。
  3. 「フレームレートの変換」は「ソースレートの調整」に近い数字で、小数第二位までの数字を指定します。ffmpeg.exe等による動画変換では、小数第三位以下を計算しません。小数第二位までの数字を指示することにより、「音ずれ」を防止します。
  4. 音声遅延が発生している場合は、「音声遅延時間」(DelayAudio)を調整します。
    ここで、映像と音声のタイミングのズレを調整します。おおよそ、映像再生時間(Time)と音声再生時間(Audio Length)を同じにすれば、一致すると思われますが、最後は自分の耳で聞いて合わせます。

設定手順

  1. MediaInfo(コーデックチェッカー)をインストールします。
    MMname2より正確な情報が得られるらしい。
    動画ファイルのフレームレートを調べる。
    http://www.gigafree.net/media/mediainfo.html
  2. CCCP (Combined Community Codec Pack)をインストールします。
    必要最小限の動画再生環境を構築します。
    http://www.gigafree.net/media/codecpackage/cccp.html
  3. AviSynth2.5をインストールします。
    http://sourceforge.net/project/showfiles.php?group_id=57023&package_id=72557&release_id=650255
  4. MeGUIをインストールします。
    MeGUI-Updaterが起動したら「Update」をクリック。(Preset Importerが起動したら画面を右クリック「Check all」を選択して「Import」ボタンをクリック)
    http://sourceforge.net/projects/megui/
  5. Nero AAC Codecをダウンロードします。
    win32フォルダにneroAacEnc.exeとneroAacDec.exeがはいっています
    neroAacEnc.exeとneroAacDec.exeをC:\Program Files\meguiに保存します。
    http://www.nero.com/jpn/downloads-nerodigital-nero-aac-codec.php
  6. FFmpegSource2.0をダウンロードします。
    ここに「FFMS2.dll」がはいっています
    FFMS2.dllをC:\Program Files\meguiに保存します。
    http://code.google.com/p/ffmpegsource/
  7. 以下のテキスト(@echo offより、pauseまで)をメモ帳にコピーして、FFMS2.batという名前で、C:\Program Files\meguiに保存します。

次のリンクより、テキストファイルをダウンロードできます。
リンクをマウスで右クリック、「対象をファイルに保存」でダウンロードできます。
拡張子「.txt」を「.bat」に変更するとバッチファイルとなります。
FFMS2.txt

@echo off
cd /d "%~dp0"
echo 処理対象:"%~nx1"
echo ***************************************************
echo フレームレートを指定して、実行キーを押してください。
echo.
echo 数字 "規格名" 比率
echo 29.97 "ntsc_video" 30000,1001
echo.
echo 23.976 "ntsc_film" 24000,1001
echo.
echo ここでは「ソースレートの調整」を行います。
echo コーデックチェッカーで調べた、極力正確なフレームレートを指定します。
echo "規格名"または、比率で指定することもできます(推奨)。
echo 29.97と指定するより"ntsc_video"あるいは、30000,1001と指定します。
echo.
set /p framerate1=ソースレートの調整:
set framerate1=%framerate1%
echo.
echo 「ソースレートの調整」は、%framerate1%に設定されました。
echo.
echo つぎに「フレームレートの変換」を行います。
echo 新たに設定するフレームレートを小数第2位までの数字で指定してください。
echo たとえば、「ソースレートの調整」が23.976の場合、「フレームレートの変換」は23.98あたりを指定します。
echo.
set /p framerate2=フレームレートの変換:
set framerate2=%framerate2%
echo.
echo 「フレームレートの変換」は、%framerate2%fpsに設定されました。
echo.
pause
if "%~x1"==".mp4" goto mp4
if "%~x1"==".MP4" goto mp4
tools\ffmpeg\ffmpeg -y -i "%~1" -vn "%~dpn1.wav"
goto avs
:mp4
neroaacdec -if "%~1" -of "%~dpn1.wav"
goto avs
:avs
echo LoadPlugin("%~dp0FFMS2.dll")>"%~dpn1_ffms2.avs"
echo ffvideosource("%~1")>>"%~dpn1_ffms2.avs"
echo a=wavsource("%~dpn1.wav").Normalize(0.98)>>"%~dpn1_ffms2.avs"
echo audiodub(a)>>"%~dpn1_ffms2.avs"
echo AssumeFPS(%framerate1%)>>"%~dpn1_ffms2.avs"
echo convertfps(%framerate2%)>>"%~dpn1_ffms2.avs"
echo #delayaudio()>>"%~dpn1_ffms2.avs"
echo #info()>>"%~dpn1_ffms2.avs"

リンクフリー
inserted by FC2 system