・ FFmpegSource (2.16)
・ DirectShowSource + Microsoft DTV-DVD Video Decoder
・ LoadAviUtlInputPlugin + m2v.vfp (0.7.5)
での1440x1080のm2vファイルの読み込み速度を
avs2pipemod-20110919(Ch's barn)
でベンチマークしてみました。数回実行してGOPリスト、インデックス等が作成され、m2vファイルがキャッシュされた状態で測定しています。
テスト環境
・Avisynth 2.58 x86
・Windows 7 x64
・Intel Core i7-860(定格)
・DDR3-1333 Dual Channel
使用したavs
各m2v入力処理 Trim(0,29999) ConvertToYV12() return last |
結果(-benchmarkオプション指定)
FFmpegSource (2.16) | 592 fps |
DirectShowSource + Microsoft DTV-DVD Video Decoder | 148 fps |
LoadAviUtlInputPlugin + m2v.vfp (0.7.5) | 80 fps |
FFmpegSource:
今回初めて試してみましたが、非常に速いです。初回読み込み時は*.ffindexファイルが作成されます。
DirectShowSource:
うちの環境では総フレーム数が実際よりも少なく認識されるので使用していません。
m2v.vfp:
初回読み込み時に*.glファイルを作成する設定で使用しています。
LoadAviUtlInputPlugin経由のせいか思ったより遅いですが、80fps出ているのでHDサイズのエンコードではまず律速要因にはならないでしょう。
中途半端に切れたファイルを読ませても問題なくデコードしてくれるので、AvisynthでもAviutlでも常用しています。
最後に
-benchmarkオプションを指定せずに
-rawvideo "test.avs" > nul
としてNULLに出力してみたところ、FFmpegSourceで413fpsまで速度が落ちました。意外に標準入力への書き出しで遅くなるようですね。
今まではavs2yuv+pipebufの組み合わせでエンコードしてきましたが、特に理由がない限りは本家より書き込み用バッファが拡張されているavs2pipe/avs2pipemodを使用するのが良さそうです。
関連記事
MPEG2形式の動画をAvisynthから読み込む方法4種
エンコード関連記事一覧