Examples :: Apply a swap transition
This script demonstrates basic use of AVSLib's filters. The example script applies a vertical in-to-out swap transition between a still photo and a clip. In order to fit things together other filters (resizing, editing and utility) are also used.
First the script:
LoadModule("avslib", "filters", "edit") LoadModule("avslib", "filters", "resize") LoadModule("avslib", "filters", "animate") LoadModule("avslib", "filters", "utility") # load a clip and a photo; convert photo to match clp clpname = "story.avi" phoname = "photo.jpg" clp = AVISource(clpname) ovlap = Round(clp.Framerate / 5) pho = ImageSource(phoname, start=0, end=2*ovlap-1) pho = pho.AssumeFPS(clp.Framerate) pho = pho.ResizeToTarget(clp) # this, coded as is, will do a bilinear resize pho = pho.ConvertToTarget(clp) pho = pho.AudioDub(clp) # create a vertical from-center-to-outside swap transition # for this we only need to animate size ph1 = pho.EditTrim(0, ovlap).Amplify(0) ph2 = pho.EditTrim(ovlap) black = ph2.BlankClip(color=color_black) white = ph2.BlankClip(color=color_white) tmask = LineAnim(black, white, w_start=2, w_end=clp.Width).ScaleToPC() # add ovlap frames of the stil photo length at the begining return EditJoin(ph1, \ Overlay(ph2, clp.EditTrim(0, ovlap), mask=tmask), \ clp.EditTrim(ovlap), \ op=EDOP_ALGN)
The script loads an image and converts it to a clip with the same properties as the base story clip. Then it animates a white over a black mask to create the swap effect and finally combines the parts with EditJoin.