WindowsでAviDemux

(8/03 2007 更新 tetsuro)

MPEG-1でDVDビデオを作ろう

 AviDemux 2のWin32バイナリのダウンロード先

Avidemux 2.4 リビジョン履歴
Avidemux 2.3 リビジョン履歴
(2.3は最近のリビジョンのみ)
パージョンについて:
Avidemux公式ページでは2.3が安定(Stable)バージョン、2.4が不安定(Unstable)バージョンと書かれていますが、2.4の最新のリビジョンでは安定度が既に2.3を超えているように思います。

 日本語言語ファイルのダウンロード先

(注:Avidemux 2.4 preview1は言語サポートがオフになっており、日本語言語ファイルを適用しても日本語表示ができません。また、MinGWでコンパイルした際の言語サポート問題で日本語言語ファイルが動作しないBuildのものもあります。)

 AviDemux 2のソースの入手方法

必要なソフト:

ソースのダウンロード手順:
  1. Windowsエクスプローラを開いて、C:\上でマウスを右クリックする
  2. ポップアップメニューからSVN Checkoutを選ぶ
  3. URL of repositoryに次のように入力する
    安定バージョンなら、
    svn://svn.berlios.de/avidemux/branches/avidemux_2.3_branch/
    不安定バージョンなら、
    svn://svn.berlios.de/avidemux/branches/avidemux_2.4_branch/
  4. Checkout directoryに保存するフォルダを入力する
  5. OKをクリックしてソースコードをダウンロードする

 仕様

AviDemuxは、複数のコーデックを使用して、多様な入出力に対応したビデオ編集ツールです。この種のツールにTMPGEncがありますが、無料版はMPEG-2のエンコーダは期限が制限されています。対して、AviDemuxは完全なフリーソフトです。

入力できるファイル:
AVI音声なし、複数音声トラックをサポート
OpenDML音声なし、複数音声トラックをサポート
MPEGエレメントストリーム、プログラムストリーム(VOBを含む)、トランスポートストリーム(DVB)
ASFWMV2、VC-1 (Windows Media Video 9で使うWMV3)をサポート
NuppelVideoRegular, nuppel_gatos, MythTV, ffv1rec
画像BMPまたはJPEGファイルの組(im001.bmp, im002.bmp...のようなファイルの組)
H.263(+)Raw H.263(+) 映像ストリーム
MPEG-4Raw MPEG-4 映像ストリーム (不完全)
QuickTime, 3GP, MP4Simple 3GP/MP4/QuickTime ファイル (圧縮ヘッダは未サポート)
OGMNone
Mpeg1/2は、最初に.idxファイルを作成する必要がある。

映像出力コーデック:
Copy映像ストリームを変更しない
H263(lavc)libavcodec H263
MJpeglibavcodec Mjpeg
Mpeg4(lavc)libavcodec MPEG-4
VCD(lavc)libavcodec VCD仕様MPEG-1(352x240)、高速、VBR
DVD(lavc)libavcodec DVD仕様MPEG-2(720x480)、高速、VBR
SVCD(lavc)libavcodec SVCD仕様MPEG-2(480x480)、高速、VBR
VCDlibmpeg2enc VCD仕様MPEG-1(352x240)、CBR
SVCDlibmpeg2enc SVCD仕様MPEG-2(480x480)、 低速、CBR
DVDlibmpeg2enc DVD仕様MPEG-2(720x480)、 低速、CBR
DVlibavcodec DV
Xvid4Xvid-1.2
x264x264 (ここの説明が詳しい)
HUFFYUVlibavcodec HUFFYUV, Windows版で使用できるかどうか不明
FF HUFFYUVlibavcodec HUFFYUV, Windows版で使用できるかどうか不明
FFV1(lavcodec)libavcodec FFV1(ロスレス映像コーデック), Windows版で使用できるかどうか不明
YV12 (raw)???

映像出力コーデックにDVDを選択した場合のConfigure:
  • Encoding mode:
    • 一定ビットレート -- 指定したビットレートに基づきエンコードする
      ビットレート (kb/s): 大きいほど画質は良いがファイルサイズは大きくなる
    • 一定品質 -- 指定した量子化度に基づきエンコードする
      量子化度: 小さいほど画質は良い
    • 2パス-ファイルサイズ -- 指定したファイルサイズに基づきエンコードする
      ファイルサイズ (MB): ファイルサイズを指定
    • 2パス-平均ビットレート -- 指定した平均ビットレートに基づきエンコードする
      平均ビットレート (kb/s): 平均のビットレートを指定する
  • アスペクト比 -- 画面のアスペクト比を4:3か16:9で選択
  • インタレース -- プログレッシブ、インタレTFF、インタレBFFの3つから選択(NTSC DVDではインタレTFFが標準)
  • マトリックス: デフォルトのままで良いと思う
  • GOPサイズ: 12のままで良いと思う(NTSC DVDでは18以下、PALでは15以下)
  • 最大ビットレート: 最大ビットレートを指定

映像出力コーデックにDVD(lavc)を選択した場合のConfigure:
  • Encoding mode:
    • 一定ビットレート --指定したビットレートに基づきエンコードする
      ビットレート (kb/s): ビットレートを指定する
    • 一定品質 -- 指定した量子化度に基づきエンコードする
      量子化度: 小さいほど画質は良い
    • 2パス-ファイルサイズ -- 指定したファイルサイズに基づきエンコードする
      ファイルサイズ (MB): ファイルサイズをMB単位で指定する
    • 2パス-平均ビットレート -- 指定した平均ビットレートに基づきエンコードする
      平均ビットレート (kb/s): 平均ビットレートを指定する
  • 最大ビットレート -- ここでビットレートの上限を設定
  • 最小ビットレート -- ここでビットレートの下限を設定
  • XviDレート制御を使う -- チェックを入れておくとXviDのレートコントロールで制御する. チェックを入れておいたほうが良いように思う
  • バッファサイズ -- DVD, SVCD, VCDに応じて設定
  • アスペクト比 -- 画面のアスペクト比を4:3か16:9で選択
  • インタレース -- プログレッシブ、インタレTFF、インタレBFFの3つから選択(NTSC DVDではインタレTFFが標準)
  • マトリックス: デフォルトのままで良いと思う
  • GOPサイズ: 12のままで良いと思う(NTSC DVDでは18以下、PALでは15以下)

映像フィルタ:
--- Transform ---画像サイズ等の変更
Crop縁を切り落とす
MPlayer resize画像サイズを変える. Michael Niedermayer氏のリサイズ・フィルタ. Avisynthリサイズ・フィルタより高速.
Resize画像サイズを変える. Avisynthリサイズ・フィルタ.
Add black borders黒ボーダーを追加する. アスペクト比を変えることなくリサイズした場合に効果的.
Blacken Borders映像のボーダーを黒くする. VHSからキャプチャーしたものに効果的.
Vertical flip画像を上下逆にする
Rotate90/180/270度回転
Resample fps画像を複製/ブレンドすることによってFPSを変える
Reverse映像を逆方向に再生
Fadeフェードイン/ フェードアウト


--- Interlacing ---インタレース関連
yadifMPlayerからのデインタレーサ. (r2945で一応エラーなく動作するようになった)
mcDeinterlaceMPlayerからの動き補償デインタレーサ. 非常に遅い^^;
DeinterlaceDonald Graft smart deinterface フィルタのYV12へのポート
KernelDeintDonald Graft氏のKernelデインタレーサ
TDeintTritical氏の動き適応デインタレーサ
libavcodec deinterlacerFFmpeg デインタレーサ
Decomb telecide逆テレシネを含む連結を取り除く(フレームレートは変えない)
Decomb decimateいくつかのストラテジによりフレームを取り除く(逆テレシネを行うのに使用)
Pulldownフィールドを繰り返して24fpsを30fpsに変換する
DGBobフィールドオーダーを変更したり、FPSやフレームを倍化したりできる
Pal field shift或る画像からフィールドを、次の画像から他のフィールドを取る(インタレース化される)
PAL smartDecomb telecideとDecomb decimateとをミックスしたフィルタ
Drop或るフィールドが近隣と大きく異なるとき、平均値で置き換える
Swap fieldsフィールドを交換する
Smart swap fields前後にフィールドを交換する
Keep even fields偶数フィールドを保つ
Keep odd fields奇数フィールドを保つ
Separate fields画像を2つに分割する
Merge fieldsSeparate fieldsの逆
Stack fields2つのフィールドを積み重ねる
UnStack FieldsStack fieldsの逆


--- 色 ---ルーマ/クロマ
Mplayer eq2Mplayer イコライザー・フィルタ
MPlayer hue色相と飽和度とを変更する
Contrastコントラスト、明るさ、色を調整する
Luma equalizer画像のルーマ分布を調整する
Swap U and Vクロマ平面が逆転しているときに交換する
Chroma shiftクロマのずれを直す
Luma onlyグレイスケールに変換(デバッグ用)
Chroma U onlyグレイに変換(デバッグ用)
Chroma V onlyグレイに変換(デバッグ用)
Luma delta現在の画像と前の画像間の差
Avisynth ColorYUVAvisynthからの色変換フィルタ(自動ホワイトバランス等)


--- Noise --- ノイズ除去等
MPlayer denoise3dDaniel Moreno氏によるMPlayer Denoise3Dフィルタ
MPlayer hqdn3dDaniel Moreno氏によるMPlayer HQDN3Dフィルタ(ノイズを除去する効果が高い)
FluxSmoothRoss Thomas氏による空間-時間クリーナ. 使い方がよく分からないが、動きのあるものを暈すようだ
Temporal CleanerJim Casaburi氏のデノイザのVlad59のAvisynthポート. ルーマ、クロマノイズを除去する
Denoise参照閾値を超えた画素を参照平均で置き換える
Stabilize閾値を超えた画素を重み付け平均で置き換える
Cnr2MarcFD/Tritical氏によるクロマノイズ除去フィルタ
MSmooth by Donald GraftDonald Graft氏のMSmoothフィルタのポート(アニメに効果)
SoftenStabilizeの変形


--- Sharpness --- 画像を鮮明にする/暈す
Sharpen画素間の差を強調する
MSharpenDonald Graft氏による、ノイズを増幅しないでエッジをシャープにするフィルタ
asharpMarcFD氏による適応型シャープナー
Gauss SmoothMeanと似るが、Meanよりスムース(粗い画像に効果抜群)
Mean画素を周辺の平均値で置き換える
Median画素を周辺(3x3)の中央値で置き換える
Median (5x5)画素を周辺(5x5)の中央値で置き換える
Forced postprocessingデブロッキング等の後処理を強制的に行う


--- 字幕 ---
Subtitler一般的なテキスト形式(.srt/.sub)で字幕を入れる
ASSASS/SSA字幕を入れる
VobSub.idx+.sub形式で字幕を入れる。前もってVobSubで字幕ファイルを作成しておく必要があります


--- Misc ---その他
Blend remover前後の画像間のブレンドを除去する
Hard pulldown removalアナログキャプチャーやリサイズされた際のIVTCを除去する
Whirl映像を渦巻き状にする(綺麗です)
Mosaic画像を小さなサムネイルに分割する
MPlayer delogo周辺ボックスを補間することによってロゴをブレンドする
Animated Menu6つの窓を持つ映像を作成する. DVDメニューに便利.


音声出力コーデック:
Copy音声ストリームを変更しない
LameMP3
FAACFAAC
VorbisVorbis
AftenAC3
FFm MP2MP2
FFm AC3AC3
ToolameMP2
Wav PCMWAV
Wav LPCMWAV


コンテナ:
AviAVI
Avi, unp. vopAVI, unpacked?, Video Object Plane
Avi, Pack vopAVI, packed?, Video Object Plane
AVI, dual audioAVI, 2つの音声
OGMOGM
MPEG videoMPEGエレメンタルストリーム(m1v, m2v等)
MPEG PS A+VMPEGプログラムストリーム(mpg, mpeg等)
MPEG TS A+VMPEGトランスポートストリーム(ts等)
MP4MP4
PSPPSP


 例1:AVIから(DVD-video用)MPEG2への変換

  1. AviDemuxを起動して、@の「開く」で、入力用のAVIファイルを指定する。

  2. Aの「映像」をDVD(lavc)またはDVDに合わせ、「構成」で適当に設定する(2パスのほうが画像は綺麗)。「フィルタ」でDVD resを指定してDVDビデオ用にリサイズする。

  3. Bの「音声」をFFm AC3またはAftenに合わせ、「フィルタ」で48000Hzにリサンプルする。

  4. Cの「形式」をMPEG PS (A+V)に合わせる。

  5. Dの「保存」から出力用ファイルを指定すると、エンコードが始まる。

エンコード中の画面↓


 例2:PALからNTSCへの変換(その1)

この例は、次の場合です。
入力:PAL MPEG-2 (VOB) 720x576, 25fps, プログレッシブ
出力:NTSC MPEG-2 720x480, 29.97fps
(音声は未処理のため多少ずれます。演奏時間の短いものでは気になりませんが、演奏時間の長いものでは音声をBeSweet等で別途処理する必要があるかもしれません。)

  1. AviDemuxを起動して、@の「開く」で、入力用のPALのMPEG-2 (VOB)ファイルを指定する。設定によっては.idxファイルを作成するかを訊ねてくるから、それに従って.idxファイルを作成する。

  2. Aの「映像」をDVD(lavc)またはDVDに合わせ、「構成」eで適当に設定する(2パスのほうが画像は綺麗)。「フィルタ」で下図のように設定する。

  3. Bの「音声」をFFm AC3またはAftenに合わせ、「フィルタ」で48000Hzにリサンプルする。

  4. Cの「形式」をMPEG PS (A+V)に合わせる。

  5. Dの「保存」で出力用ファイルを指定すると、エンコードが始まる。




 例3:PALからNTSCへの変換(その2)

上の例は古典的なPAL→NTSCの方法でしたが、音声のずれを解消しにくい点と、(25fps→23.976fpsの変換にはフレームをブレンドする必要があるために)画質が悪くなる点で、あまり良い方法でなかったようです。(^^;
そこで、(その2)として音ずれの起き難い方法を考えてみました。

(1) AviDemuxを使ってPAL映像のサイズのみを720 x 480に変更してエンコードする。(インタレースPALは、デインタレースでプログレッシブにしておく。)
(2) DGPulldown(日本語化は生ものへ)を使って、25fps→29.97fpsに変換。DGPulldownは、AviDemuxのフィルタにはないようなので、別途ダウンロードする必要があります。

この(1)(2)のステップで、PAL 25fps→NTSC 29.97fpsに変換できます。DGPulldownは、フレームをブレンドすることないので画質がよいだけでなく、正確なタイムコードを埋め込んでくれますから音ずれの心配もありません。ただし、そのタイムコードに従って映像と音声を多重化してくれるオーサリングソフトが必要です。AviDemuxではせっかく埋め込んだタイムコードを何故か無視してしまい、DGPulldownで処理したものをAviDemuxで多重化すると音がずれます。MuxMan 0.14g(現在のバージョンは0.15Q)でオーサリングすると、音ずれなくDVD-videoを作成できました。

では、実際の手順を書いてみます。

1.AviDemuxを起動して、PALのMPEG-2 (.vob)ファイルを入力する。.idxファイルを作成するかを訊ねてくるから、それに従って.idxファイルを作成する。

2.左図のように「Video」をDVDに、「Audio」をFFm AC3に、「Format」をMPEGvideoに、それぞれ、合わせる。


3.「Audio」のConfigureとFiltersを好みに応じて設定しておく。


4.メニューバーの「Audio」から音声ストリーム(.ac3)をセーブ(エンコード)する。



5.「Video」のDVDのConfigureでプログレッシブにチェックを入れ、とFiltersを次のようにサイズの変更のための設定する。
プログレッシブPALの場合
インタレースPALの場合
テレシネPALの場合


6.映像ストリーム(.m2v)をセーブ(エンコード)する。

7.AviDemuxで作成した.m2vをDGPulldownに入力して、25fps→29.97fps変換する。


8.最後に、DGPulldownで変換した映像ストリーム(.m2v)とAviDemuxで作成した音声ストリーム(.ac3)とをMuxManでオーサリングすれば、NTSCのDVD-videoが出来上がります。

 Linux版AviDemuxの日本語解説ページ