映像の読み込み方と音声の読み込み方を確認してきました。次は読み込んだ映像と音声を合成して、1つの動画にします
映像と音声の合成方法
内蔵フィルタのAudioDub()を使います。外部プラグインの登録は必要ありません
基本的な使い方
映像と音声を指定するだけです
1 2 3 4 5 |
v = LWLibavVideoSource( "xxxx.ts", dr=true, repeat=true, dominance=1 ).AssumeFPS(30000,1001) v = v.height() == 1088 ? v.Crop( 0, 0, 0, -8 ) : v a = AACFaw( "xxx DELAY -280ms.aac" ) AudioDub(v, a) |
映像をL-SMASH WorksのLWLibavVideoSource、音声をAACFawで読み込み、合成しました
余談:代入先の仕様
5行目のAudioDub(v, a)の結果の代入先を指定していませんが、AviSynthでは代入先を省略した場合、”last” という変数に格納されます
1 2 3 4 5 |
v = LWLibavVideoSource( "xxxx.ts", dr=true, repeat=true, dominance=1 ).AssumeFPS(30000,1001) v = v.height() == 1088 ? v.Crop( 0, 0, 0, -8 ) : v a = AACFaw( "xxx DELAY -280ms.aac" ) last = AudioDub(v, a) |
先ほどと5行目だけ変わっています。先ほどの5行のスクリプトは、内容としてはこの5行のように動きます
結果の出力
映像、音声の読み込みまでできたところで、プレビューを表示させてみましょう。先ほど、スクリプトを5行分書きましたが、スクリプトの最後に”return last”を追記します
1 2 3 4 5 6 7 |
v = LWLibavVideoSource( "xxxx.ts", dr=true, repeat=true, dominance=1 ).AssumeFPS(30000,1001) v = v.height() == 1088 ? v.Crop( 0, 0, 0, -8 ) : v a = AACFaw( "xxx DELAY -280ms.aac" ) AudioDub(v, a) return last |
最終的に変数lastに入った動画を返す、ということですね
このように、映像と音声を読み込んで表示できれば成功です
L-SMASH Worksが導入済みのAviUtlなら、AviSynthのスクリプトを読めるので、AviUtlでプレビューを確認することもできます
AviUtlなら音声の波形も確認できますね。AACFawで読み込んだので音声の波形が異常です。Fawぷれびゅ~を有効にすれば、本来の波形を確認できます
コメント