View Single Post
Old 10th December 2017, 17:39   #1  |  Link
The T
Registered User
 
Join Date: May 2016
Posts: 4
Trying to overlay an image logo zooming in while retaining transparency.

I have no idea how I'm having so much trouble with this.

What I'm trying to do is, have a video, have a logo appear in the center super small, then slowly zoom in to fill up the screen, all the while leaving the original video in the background, and keep transparency intact.

I'm trying to use the sample on the Animate page, "Zoom overlay 2". But when I do it, the closest I get is, the first frame of the video has the final frame of the zoom's transparency present, like a mask, and the image zooms in to fill in that space, only showing up where the black mask is.

The weird thing is, if I jump around in the video, it disappears altogether. If I then run through it, flickers between the underlay video and the zooming image on a pure black background.

What the heck is going on?

Here's the entire script:

Code:
a=FFVideoSource("video.mp4").converttorgb32

function res(clip clip, clip "LClip", int "width", int "height", 
\           int "centerX", int "centerY") {
    LClip = BicubicResize(LClip, width, height)
    Overlay(clip, LClip, centerX-LClip.Width/2, centerY-LClip.Height/2)
}

function resize(clip clip, clip "LClip", 
\               int "start_frame", int "start_width", int "start_height",
\               int "end_frame", int "end_width", int "end_height", 
\               int "centerX", int "centerY") {
    return Animate(start_frame, end_frame, "res", 
        \       clip, LClip, start_width, start_height, centerX, centerY,
        \       clip, LClip, end_width, end_height, centerX, centerY)
}

clip = ImageSource("title.png",pixel_type="RGB32")
black=BlankClip(clip)
clip=resize(black, clip, 
\      0, 5, 5, 
\      300, 1280, 720, 
\      clip.Width/2, clip.Height/2)

Layer(a,clip)

trim(0,500)
The T is offline   Reply With Quote