I’m using Blender’s VSE to edit tutorial videos. The videos are simply recordings of my screen showing how to do something, with a voice over for explanation. I can get the cutting, cross-fading, image overlays, audio and rendering all working nicely. But Occasionally I need to highlight a portion of the screen, say by drawing a red circle or rectangle around a portion of the frame and show it for a few seconds. Previously, under Windows, I would just draw a 2D shape using some software for creating demo videos. I don’t have Windows or that video editing software as an option anymore, so Blender’s VSE seems like an ideal replacement.
I’ve searched everywhere, but I can’t find a way to draw 2D geometric shapes on top of my imported videos in Blender’s VSE. Is there such a feature? Or, do I have to use some other part of Blender to model the 2D shape first? If so, can I then drag/drop the shape model onto my video strip in the VSE so it becomes superimposed / overlayed on top of my video?
Thanks for your idea. I’m new to Blender and its VSE, so I’m not sure if I followed your idea exactly, but my workaround so far is like this:
I take a screen grab of the frame where I want to start highlighting some part of the screen
Open that screen grab in Inkscape
Draw the red circle over the area I want to highlight. (This gives my a shape of the right size)
Hide the original screen grab so I’m just left with the circle
Export this as a png image with a transparent background
Import the image into Blender - using the “Alpha Over” option for the Blend mode
If I export from Inkscape a minimum size image of the circle, I have to check the “Image Offset” option and manually reposition the circle over the area I want to highlight
Add some fade-in effect - haven’t quite worked this one out - as I’ve only used cross fades between strips so far…
Drag the image strip along the timeline for as many frames as I need it to show
Fade out the red-circle image (again, I only know about cross-fades in blender so far…)
Repeat steps 1-10 for every other place in my movie where I want to highlight a different area
It seems a bit more complicated than what I used to do… so I’m looking for any improvements to the above workflow
My shape images so far are just completely independent from each other on the time line, but you mentioned an “image sequence”. Do you mean I should be importing all my PNG circle images together in the same image strip? If so, I’m not sure how I would make that work, given I need a different sized circle in a different position at say frame 1000 than what I used back at frame 100…
Also regarding your idea of “alpha map” - did you mean I just need to make sure my shape images have transparency? Sorry for my ignorance!
I’m still open to other ideas that would somehow let me do all this in Blender and just be able to reuse the same underlying shape object/model multiple times, but reposition and resize it as needed along the time line.
Image sequence refers to an animation made up of images. So if your circle images are an animation then yeah one strip would do.
As for changing size of one photo or video we have a thing called ‘Effect Strips’
To change size or location the Transform strip standard. Just select the thing you want affected beforehand.
I understand about the image sequence now. My shape overlays are not animated though. They just fade in/out to highlight some region of the screen for a few seconds. Then I’ll use another one to highlight some other part of the screen later, and so on. I was hoping to reuse the same base shape model and quickly create new instances of it as needed along the timeline (only having to resize & reposition it as required for whatever area I want highlighted at that point in time). I feel that this is not really possible with blender right now.
I have experimented with the effect strip - thank you. That helps me for other purposes, but not for this. For example say at Frame 100 I want a circle of radius 50pixels at X,Y position 100,100. Then at Frame 1000, I want a circle of the same style, but with a radius of 100pixels at X,Y posiition 500,500. I can’t just scale the original circle, otherwise it will have a massive border and may start to look pixelated as it gets scaled up as well. So I have to manually redraw it in Inkscape at the right size.
Anyway, this is the best workflow I’ve come up with for now… in case anyone else has to use Blender for making tutorials based on a screen recording, and use image overlays to highlight areas of the screen. Hopefully Mikeycal or someone else will show a faster way in a future Blender tutorial
Set Blender’s Preview window to a 1:1 zoom ratio.
Pan around the Preview window (MMB) to the find the area you want to highlight.
Take a screen grab of the region you want highlighted.
Paste that screen grab into a new Inkscape file.
Draw your colored shape (red circle/rectangle/whatever) around the screen grab. (This gives you a shape of the right size)
Hide or delete the original screen grab so you just have the shape visible
In Inkscape’s Document Properties, use the option “Resize page to content” (This will give you an exported image of the right size)
Export this as a png image with a transparent background
Import the image into Blender - using the “Alpha Over” option for the Blend mode
In the image strip’s Properties (N), check the “Image Offset” option and manually reposition the shape over the area you want to highlight using the X,Y coordinates
Create a fade-in effect by setting the opacity of the first frame of the shape’s image strip to 0, then insert a keyframe on the opacity value at that frame.
Complete the fade-in effect, by setting the image’s opacity to 1 some frames later, and insert another keyframe on the opacity value at that frame.
Drag the image strip along the timeline (G) for as many frames as you need it to show
Create a fade-out effect on the image strip, by setting the opacity value to 1 at some frame close to the end of the image strip and insert a keyframe on the opacity value at that frame
Complete the fade-out effect, by setting the image’s opacity to 0 on the last frame, and insert another keyframe on the opacity value at that frame.
Repeat steps 1-15 for every other place in your movie strip where you want to highlight a different area
I hope this helps. If not, I hope there’s some add-in or new Blender feature to make it all quicker