AvisynthをAviutlで使う(動画読み込み編)
この記事では、Avisynthは既にインストールしたものとします。
スクリプトファイルの作り方の基本。
基本はテキストファイルを作ってそれをテキストエディタ(例えばメモ帳とか)で編集して拡張子を.avsにするだけ。かんたん。
それかインストール時に指定しているなら「新規作成」→「Avisynthスクリプト」とかの方法もある。ね?簡単でしょ?
パスのコピー
動画を読み込む場合は、動画のパスが必要になる。
「エクスプローラー」で読み込みたい動画ファイルをクリックして、Shiftを押しながら右クリック、「パスのコピー」をクリック。
これでパスをコピーすることができる。
読み込みの基本
基本は
読み込みに使うフィルタ名(ファイルのパス)
と書けばよい。
例えば、directshowsourceで、ファイルのパスが「"D:\video\test.mp4"」な動画を読み込みたい場合は、
directshowsource("D:\video\test.mp4")
と書けばよい。
必ず『"』(ダブルクォーテーション)を残さないとエラーになってしまうので要注意。
ちなみに、フィルタ名は大文字小文字を問わない。*1
めんどくさい人向け
めんどくさいとか思う人。自作スクリプト紹介。
ダウンロードしたAutoloader.avsiをAvisynthのプラグインフォルダに入れればおk。
LoadAll
動画と音声の両方を読み込む。
例)
Loadall("D:\video\test.mp4")
LoadVideo
動画のみを読み込む。
LoadAudio
音声のみを読み込む。音声ファイルもこれで読み込める。
めんどくさくない人向け。
おまたせしました。初期状態で使える入力フィルタと、Avisynth用「L-SMASH Works」で使える入力フィルタを紹介しましょう。
avisource
AVIファイルだけでなく、WAVファイルやAvisynthスクリプト、VDR (VirtualDub frameserver)も読み込めたりするフィルタ。 最初から使える。
directshowsource
Directshowを使って読み込む。AviutlのDirectShow file readerと同じ。最初から使える。
lsmashvideosource
L-SMASHをデミキサー*2、libavcodecをデコーダーとして動画を読み込む。AviutlのL-SMASH Worksの「Libav+L-SMASH」と同じ。Avisynth用「L-SMASH Works」で使える。
lsmashaudiosource
lsmashvideosourceと同じ仕組みで音声を読み込む。Avisynth用「L-SMASH Works」で使える。
lwlibavvideosource
ibavformatをデミキサーとして、libavcodecをデコーダとして動画を読み込む。AviutlのL-SMASH Worksの「LW-Libav」と同じ。Avisynth用「L-SMASH Works」で使える。
lwlibavaudiosource
lwlibavvideosourceと同じ仕組みで音声を読み込む。Avisynth用「L-SMASH Works」で使える。
Audiodub
さて、ここで勘の良い方はお気づきかもしれないが、lsmashvideosourceだけでは動画だけを読み込み、lsmashaudiosourceでは音声だけを読み込む。そのため、両方使いたい場合はそれらを結合する必要がある。それを行えるのが、Audiodubである。
これも例を書くのでそれを参考にして、自分でいろいろ変えて使ってほしい。
例1)動画と音声の両方が入っているtest.mp4からL-SMASHで両方取り出す
v=lsmashvideosource("D:\video\test.mp4")
a=lsmashaudiosource("D:\video\test.mp4")
audiodub(v,a)
例2)動画と音声の両方が入っているtest.mp4からlwlibavで両方取り出す
v=lwlibavvideosource("D:\video\test.mp4")
a=lwlibavaudiosource("D:\video\test.mp4")
audiodub(v,a)
例3)test.aviから動画を、test.m4aから音声を取り出す
v=avisource("D:\video\test.avi")
a=lwlibavaudiosource("D:\video\test.m4a")
audiodub(v,a)
例に分かるように、v=(動画フィルタ)、a=(音声フィルタ)と書いてAudiodub(v,a)と書くのが基本。
ちょっとしたテクニック集
ここからはちょっとしたテクニックをご紹介。
パスを1度だけ書く
例をみてくれればわかる。
FP="D:\video\test.mp4"
v=lsmashvideosource(FP)
a=lsmashaudiosource(FP)
audiodub(v,a)
このように、動画用フィルタと音声用フィルタのパスを最初の1行目で指定して後で持ってくるっていう方法。
動画と音声で別な編集を行う
例をみてくれればわかる。
lsmashvideosource("D:\video\test.mp4")
###ここに動画だけに適用したいフィルタを書く###
v=last
lsmashaudiosource("D:\video\test.mp4")
###ここに音声だけに適用したいフィルタを書く###
a=last
audiodub(v,a)
動画と音声で別な編集ができる。
たとえば、動画はここから開始して、音声はこの部分から開始して・・・といったことができるようになる。