MPEG2を読み込む

VirtualDubでMpeg2等を読ませます。

P.S..こちらの講座はAviSynth Wikiさんのところを参考にさせてもらいましたので、困った時はそちらに。

読み出し方その1。

VirtualDubMODを使うだけ。(読ませるだけならラクでいいです)

VirtualDubMOD

読み出し方その2。

DirectShowで読み出します。

こちらの方法の利点は、Directshowを使用しているため、読み込みできる種類が多いことです。

まずはVirtualDubかVirtualDubModを用意。

用意したら、Avisynthを落としてインストール。
VirtualDub
Avisynth
日本語化パッチ

テキストファイルを作り出して、ファイル名が書いてあるところを使いたいファイルの場所に書き換えた後、

Start.avsと言う名前で保存します。(拡張子はavsになる)
(Start.avsのStartは別にどんな名前でも良い)


DirectShowSource("C:\MAH.mpg")


読み出し方その3。

まず、MPEG-2 VIDEO VFAPI Plug-Inのm2v.vfpを落として取り出しておきます。

その後テキストエディタを開いた後、右の文を写し、サンプルのディレクトリ指定を自分のプラグインを入れたディレクトリに変更。

例:C:\Program Files\m2v_vfp-0.6.48\→C:\VirtualDub\plugins\

その後、vfapi2.avsと言う名前で保存し、VirtualDubのプラグインフォルダに放り込みます。

MPEG-2 VIDEO VFAPI Plug-In

#//--- *.vfpのディレクトリ指定 ---//
global tprDir = "C:\Program Files\TMPGEnc\"
global qtrDir = "C:\Program Files\TMPGEnc\"
global strDir = "C:\Program Files\TMPGEnc\"
global aupDir = "C:\Program Files\aviutl98d\"
global d2vDir = "C:\Program Files\dgmpgdec\"
global m2vDir = "C:\Program Files\m2v_vfp-0.6.48\"
global swfDir = "C:\VirtualDub\plugins\"

#//--- メイン関数 ---//
function VFAPISource(string "projectfile")
{
vfp_path = (RightStr(projectfile, 3) == "tpr") ? tprDir + "TMPGEnc.vfp" :
\ ((RightStr(projectfile, 3) == "mov") || (RightStr(projectfile,2) == "qt")) ?
\ qtrDir + "QTReader.vfp" :
\ (RightStr(projectfile, 3) == "str") ? strDir + "CSTR.VFP" :
\ (RightStr(projectfile, 3) == "aup") ? aupDir + "aviutl.vfp" :
\ (RightStr(projectfile, 3) == "d2v") ? d2vDir + "DGVfapi.vfp" :
\ (RightStr(projectfile, 3) == "swf") ? swfDir + "swf.vfp" :
\ ( (RightStr(projectfile, 3) == "m2v") || (RightStr(projectfile, 3) == "mpg") ||
\ (RightStr(projectfile, 4) == "mpeg") || (RightStr(projectfile, 3) == "mpv") ||
\ (RightStr(projectfile, 3) == "vob") || (RightStr(projectfile, 3) == "mp2") ||
\ (RightStr(projectfile, 2) == "ts") || (RightStr(projectfile, 2) == "bs") ||
\ (RightStr(projectfile, 3) == "ves") || (RightStr(projectfile, 3) == "ssg") ||
\ (RightStr(projectfile, 3) == "vro") ) ? m2vDir + "m2v.vfp" : ""
Assert(vfp_path != "", "未対応の形式です。")
LoadVFAPIPlugin(vfp_path, "_VFAPISource")
clip = _VFAPISource(projectfile)
clip = clip.FlipVertical()
return clip
}

その後、読み出し用の処理を行います。
テキストエディタを開いた後、右の文を写し、

Importのディレクトリ指定は先ほどのvfapi2.avsを入れた場所。

Video&Audioはそれぞれのファイルがある場所に書き換えた後、Start.avsで保存します。
(Start.avsのStartは別にどんな名前でも良い)


Import("C:\VirtualDub\plugins\vfapi2.avs")
video = VFAPISource("C:\MAH.mpg")
audio = DirectShowSource("C:\MAH.mpg")
AudioDub(video, audio)


こちらでやったMPEG2音声や映像等は読めるだけなんで、本格的に再圧縮等をする場合は映像と音声を別々にします。

そちらの方は下のURLを参照にしてください。

MPEG2再圧縮
元のページへ INDEXページへ TOPページへ