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)