■Encode

MPEG2の動画をMPEG1やDivXでエンコードする時の自分の設定を紹介しておきます。
あくまで一例なので、慣れてきたら自分で色々工夫してみて下さい。



■TMPG Encでペグ1エンコ
    ◇TMPG Encで読み込めるようにする

    DVD2AVIで音声と映像に分ける。
    ペグ2は音声がAC3の場合もあるので、音声>出力形式>wavで出力にチェック入れておく。
    AC3のままではTMPG Encで読み込めない。
    d2vファイルとwav、またはmp2ファイルが出来たらOK。


    ◇エンコード
  1. TMPG Encで映像ソースにd2vファイル、音声ソースにwav、またはmp2ファイルを選択。
    右下のロードボタンをクリック。VideoCD (NTSC).mcfを選択する。
  2. 隣の設定ボタンをクリック。
  3. 画面のように他のが選べなくなってるので、ロック解除してそれぞれ設定していく。
    lock.jpg
    ビデオ
    サイズ352x240だとPCで見るときには多少横長になる。ここでは320x240で説明。
    アスペクト比率1:1(VGA)に設定。352x240でエンコするときは4:3 525line(NTSC)に。
    フレームレート29.97fps
    レート調整モードビットレートの設定するとこ。後で説明。
    動き検索精度高画質(低速)ぐらいで。速度を優先すると画質が落ちる。

    ビデオ詳細
    画面配置方法画面全体に表示(アスペクト比保持)
    ソースの範囲チェック入れて、ダブルクリックで指定。
    24fps化24fpsの場合はチェック入れて、ダブルクリックで設定。
    ノイズ除去画質はあまり変わらないけど、サイズが縮む。エンコの時間は大変なことになる。
    インターレース解除縦のサイズが240の場合は特に必要なし。2重化は全体的にぼやける。
    クリップ枠チェック入れて、ダブルクリックで指定。端の黒い部分などを消す。

    オーディオ
    ストリーム形式ペグ1の場合はMP2が一般的。
    ソースの範囲チェック入れて、ダブルクリックで指定。
    サンプリング周波数48khzでエンコしてます。
    ビットレート普段は224kbでやってる。
    音声加工を使用するボリューム変えたりする。


    ビットレートの設定
    使うのは自動可変レート(CQ_VBR)がお勧め。厳密にサイズ設定したい場合は2パスVBRで。
    VBRの場合、最大ビットレートと最小ビットレートの差が大きいと出来上がった動画をWMPで再生するとシークが遅くなる。
    普段動きの多い目のPVなんかをエンコする場合、品質50、最大5000、最小0でエンコしてます。


    外部エンコーダー
    設定>環境設定>オーディオエンジンのタブのところで設定。
    TMPG Encでそのままエンコードするよりも音が良くなるらしい。
    tooLameSCMPXを使う。

  4. 全部設定し終わったら、設定をセーブで保存しておくといい。
    最後に圧縮ボタンを押してエンコード開始。


■AviSynth+VirtualDubModでDivXエンコ

    ◇下準備
  1. まず、DivXをインストールする。
    ここの説明は5.02のやつ。マルチパス等使いたいなら505で。
    Freeのやつじゃなくてスパイウェア入りのBundleのやつ。
    Ad-awareとかで引っかかるけど、削除すると動かなくなるので注意。
    スタートアップには入らないけど、自動実行されるので再起動する前にTrickerってやつを自動実行から外す。
    Fire wallのソフトで弾いても良し。

  2. VirtualDubModインストール。 おれは英語が嫌なので、日本語版使用。説明も一応日本語版にそって。
    必須DLLも落として同じディレクトリに入れておく。

  3. 次にAviSynthをインストール。
    2.07の方が時間はかかるけど、フィルタによってサイズが縮められる。
    2.5系はエンコの時間が短くて済むけど、まだフィルタの種類が少ない。
    AviSynth2.07
    AviSynth2.5
    現在はフィルタも増えたし、2.5系の方がいいかも。特にDVDレコとかで録画してる人にはおすすめ。
    ◇AviSynthのスクリプトを記述
    2.07の場合
  1. AviSynthスクリプトを落としてくる。
    行頭に#がある行はコメントとして処理される。
    2.07のスクリプトは2.5では使えないし、2.5のスクリプトも2.07では使えない。


  2. エディタで開いてスクリプト書く。
    2.07スクリプト見本
    lanczos3.vdf上のとこに置いてなかった。
    見本のとこにチョコチョコ解説書いてあるけど、少し補足。

    プラグイン読み込み
    LoadPlugin()
    Pluginのディレクトリとかパスとかは自分の環境に合わせて書き換え。

    ソースの指定
    mpeg2source("E:\DVDVolume\〜〜.d2v")
    d2vファイルを指定。

    範囲指定
    trim(0,0)
    後でも書くけど、おれは津波で画面見ながらやってる。
    VirtualDubModで指定する場合は(0,0)のままにしておく。

    クロップ
    crop(0,0,704,480)
    津波で見ながら指定するとやりやすい。
    左から順番に(左削る部分,上削る部分,704-[左削る部分+右削る部分],480-[上削る部分+下削る部分])
    ↓の図みたいになった場合なら、crop(4,4,696,476)


    ノイズ除去
    Convolution3D(preset="movieHQ")
    もしくはmovieHQの部分をmovieLQにする。これが一応実写用のプラグイン。
    ソースが綺麗な場合はmovieHQ、汚い場合はmovieLQがいいらしい。
    ただサイズが大きくなる。

    もう少し、強めのフィルタをかけたい場合は、
    Convolution3D(0,3,4,0,0,-1,0)
    TemporalSoften2(1,3,3)

    とかでいいと思う。

    ついでに、出来る限りサイズ縮めたい場合は、
    TemporalSoften2(1,3,3)
    _2DCleanYUY2(0,2,1,1,0,3,3)

    で。_2DCleanYUY2は実写には随分きつい目のフィルタらしいけど、サイズは縮む。

    リサイズ
    Lanczos3Resize(448,336)
    見本にあるのは、3:4のときの数値ばっかりなので、16:9は適当に。
    ここでも、サイズ縮めたい場合はBilinearResize使ってサイズケチる。
    結構画質には差がある。
    2.5の場合
  1. AviSynthスクリプトを落としてくる。
    ここは2.07と一緒。


  2. エディタで開いてスクリプト書く。
    2.5スクリプト見本
    プラグインが2.07のやつとは混ざらないようにしといたほうがいいと思う。
    基本的には2.07とそんな変わらないけど、AviSynth2.5は削る部分が4の倍数でないと何やらおかしくなるので、4の倍数で。
    2.07は好き勝手削っても見た感じ問題なかった。
    ……正直に言うとおれも良くわからんので解説できない。。。
    大抵このままのスクリプトでエンコしてます。
    基本的には2.07とそんなに変わらない。以下、違いのある分だけ記述。


    インターレース解除
    FrameCache(9).TomsMoComp(1,10,1)
    FrameCacheは速度が速くなる。TomsMoCompは字幕やテロップの文字が潰れるバグがある。


    24fps
    実写のTV番組等では少ないが、PVなどは24fpsのこともある。
    5フレームに1フレームの割合で、画面が変化しなかったら24fps。
    Telecide()
    Decimate(cycle=5,mode=0)

    ↑か、
    IT(fps=24,ref="TOP",blend=true)
    もしくは
    FrameCache(9).Auto24FPS(true,24,16,"blend")
    この辺で。違いがイマイチよくわからない。。。

    24/30fps混合
    Telecide(chroma=true,dthreshold=13)
    Decimate(mode=1,threshold=25)

    今のところこれ使ってる。


    ノイズ除去
    FrameCache(7).Convolution3d("movieHQ")
    FrameCache(5).KenKunNRT(192,2,16)

    実写だと少し強いかもしれないので、必要であれば適宜直してください。


    おまけ
    60fpsとか画面4分割とかのスクリプト見本。
    60fps
    4分割
    ◇音声エンコ
  1. ソースのペグ2ファイルをDVD2AVI通して、d2vファイルと音声ファイル(wavとかmpaとか)に分ける。

  2. おれはソースの範囲指定をAviSynthのスクリプトでやってしまうのでとりあえずd2vファイルと音声を津波に読み込ませる。
    で、ペグの時と同じように必要な部分のソース指定する。
    順番が少し入れ違ったけど、ソースの範囲指定したらAviSynthスクリプトに記述。
    ↓の場合だと、trim(69,7707)ってかんじ。

    *範囲指定をVirtualDubModでやる場合


  3. 範囲指定したまま音声のみ津波通してlameでエンコ。
    外部エンコーダーの設定は設定>環境設定>オーディオエンジン>MPEG-1 Audio LayerV エンコーダーのところで外部プログラムのところにチェック入れて、lameのパスを指定。


    普段mp3は48kHz、128kに設定してる。
    *音声のエンコもVirtualDubModでやる場合
    ◇VirtualDubModでエンコ
  1. avsファイルをVirtualDubModに読み込ませる。
    ここでエラーが出なかったら問題なし。エラーが出たらどこかでAviSynthのスクリプトがちゃんと書けていない。

  2. Video>再圧縮[高速]のところにチェック入れる。
    Video>CODEC>DivX Pro 5.02 Codecを選んで、設定を押す。
    DivX Codecのタブのところ設定。

    他の部分は触ったことない。

  3. 次に、AVI>Audio>Audio入力[CBR mp3]で、さっきの音声ファイルを指定。
    このときAudioを変更せずにコピーにチェック入れたままにしておく。

  4. AVI>名前を付けてAVIを出力でエンコ開始。
    このとき、今すぐエンコードせずジョブリストに追加するっていうのにチェック入れとくとバッチエンコードできる。
  1. さっきも書いたようにAvisynthスクリプトはtrim(0,0)にしておく。

  2. 音声をVirtualDubModでエンコする場合にはLameACMが必要。
    これをインストールしておかないと高ビットレートのmp3がエンコ出来ない。
    インストールはlame-3.93.1.zipを解凍してACMフォルダの中にあるLameACM.infをインストール。

  3. 次にさっきは音声にmp3を指定したけど、DVD2AVIでわけたwavを指定する。
    さっきと違って再圧縮[完全]にチェック入れる。
    ボリュームとかもまぁ適当に。



  4. AVI>Audio>CODECを選んで、Lame MP3を選択。
    目的のビットレート選ぶ。


  5. シークバーと←、→のボタンで範囲指定。


  6. あとは、さっきと同じように名前を付けて保存。

    こっちの方が津波通してエンコするよりも、楽だけど、複数のファイルを後でくっつけようとすると音がずれたりする。
    だから、おれは今のところ津波通して音声エンコしてる。