niiyan/2007-02-23

DGAVCDec 1.0.0 beta 1(AVC/H.264 デコーダ)

  • DGMPGDec ライクな AVC/H.264 デコーダ。
  • neuron2(Donald Graft)氏作。
  • インデックス作成用の DGAVCIndex.exe と AviSynth 用ビデオ入力プラグイン DGAVCDecode.dll(AVCSource フィルタ)からなる。
  • 動作には、同梱されている ffmpeg 関連 dll(avcodec-51.dll、avformat-51.dll、avutil-49.dll)が必要。前もって、これらのファイルを DLL 検索パスに置くこと。
    • システムディレクトリ*1と AVS を開くアプリケーション*2と同じディレクトリに置いた場合に動作することを確認。
    • Readme.txt には、これらの dll を DGAVCDecode.dll と同じディレクトリに置くのが最も簡単と書いてありますが、手元で試した範囲ではプラグインのオートローディング用ディレクトリ*3に置いた場合と、それ以外の任意のディレクトリから LoadPlugin 関数で読み込んだ場合について、いずれもうまく読み込めずに以下のようなエラーが出ました。
      dgavcdec_1.0.0b_unable_to_load.png
  • 簡単な使用手順
    1. avcodec-51.dll、avformat-51.dll、avutil-49.dll をパスが通ったところ(システムディレクトリなど)にコピーする。
    2. DGAVCIndex.exe をダブルクリックで起動。
      dgavcdec_exe.png
      DGAVCIndex.exe のアイコン。
      dgavcdec_1.0.0b_startup.png
      DGAVCIndex.exe を起動したところ。
    3. 「Source H.264/AVC elementary stream file:」でインデックスを作成したい AVC/H.264 エレメンタリストリームファイルを指定(Browse ボタンから)
      dgavcdec_1.0.0b_source_selected.png
      「Dest Index file:」欄には出力されるインデックスファイルのパスが、上で指定したソースファイルのパスを元に自動的に決定される。変更したい場合は Browse ボタンから、出力先パス・ファイル名を指定する。今回は、DGAVCDec に同梱されている frames.264 を使ってみます。
    4. Index ボタンを押すと、インデックスが作成される。
      dgavcdec_1.0.0b_index_done.png
      インデックスファイルの拡張子は dga です。ソースが frames.264 なら、デフォルトでは frames.dga というインデックスファイルが出力されます。
    5. AVS ファイルを作成する
      # 例:
      LoadPlugin("C:\your_plugin_dir\DGAVCDecode.dll") # オートローディング時不要
      AVCSource("C:\your_source_dir\frames.dga") # インデックスファイルのパスを渡す
      
    6. AVS ファイルを VirtualDub などで開く
      dgavcdec_1.0.0b_vdub.png
      frames.dga をソースとする AVS ファイルを VirtualDub 1.6.15 で開いたところ
  • 制限(Readme.txt より)
    • raw AVC/H.264 エレメンタリストリーム(例: file.264)のみ
    • ffmpeg のバグにより、最後のフレームが失われる
    • pulldown とフレームのリピートがサポートされていない
    • 高速なランダムアクセスには、たくさんの IDR*4 フレームが必要。
  • Doom9's Forum 関連スレッド

HC Encoder v0.20(MPEG-2エンコーダ)


*1 Windows XP なら C:\Windows\Sysytem32\
*2 VirtualDub や AvsP など
*3 デフォルトでは、AviSynth をインストールしたディレクトリにある plugins フォルダ
*4 参考: ageha I/IDRフレームとはH.264 - Wikipedia

最終更新日時: 2014-03-11 (火) 03:50:21 (2046d)