all tutorials
watch on youtube ↗

Shotcut tutorial · companion page

Cinematic Parallax, Vertigo & Dolly Zoom in Shotcut — Great for Cinemagraphs

Two photographs, two video tracks, and one Rotate and Scale filter. Change which field you keyframe and the same stack gives you a parallax, a vertigo or a dolly zoom — three related effects that are easy to confuse and easy to tell apart once you see what moves.

Ben Espanto 12:01 runtime uploaded 13 Apr 2020 21,276 views 560 likes

Reading in another language? Use the translate picker in the header, or your browser’s own translate command — the Shotcut filter, control and value names are marked to stay in English so they still match what is on your screen.

0:00
runtime
0
chapters
0
filter used
0
video tracks
0
builds shown
what you are building

Three names, one stack, one field apart

The title of this tutorial lists three effects. They are relatives, not synonyms, and conflating them is the easy mistake. Everything below is built from the same two photographs on the same two tracks with the same single filter — what changes is which field gets the keyframes.

01

Parallax — sideways, at different speeds

Both layers pan across. The background travels a long way, the foreground barely moves. Depth comes from the difference in lateral rate, not from anything changing size. In this video that is X offset, keyframed, and nothing else.

02

Dolly zoom — scale, in opposite directions

Nothing pans. The background scales up while the foreground scales down over the same span, so the subject holds roughly its place in frame while the world behind it rushes forward. That is Scale, keyframed on both layers with opposite endpoints.

03

Vertigo — the same effect, older name

“Vertigo effect” and “dolly zoom” name the same shot; the first comes from the Hitchcock film that made it famous. Ben uses both words for the same build here, so treat them as one thing and reserve “parallax” for the sideways version.

04

What flat layers cannot do

A real dolly zoom changes perspective: the camera physically moves while the lens counter-zooms, and the background’s geometry stretches. Two flat photographs cannot stretch — they can only change size. This is a convincing 2.5D approximation, which is why it reads best on a subject cleanly cut from its background.

[ what makes this effect so cool is that the foreground and the background move independently of each other ]

Ben Espanto · 4:38

chapter by chapter

The whole tutorial, twelve stops

Click any screencap or timestamp to play that chapter from its exact second, right here in the card. Quotes are transcribed verbatim from the audio. The card marked derived was read off the frames, because the published chapter list stops at 9:58 while the video runs to 12:01.

0:00
CHAPTER 01

Intro — one technique, three named effects

“I want to show you how to use one Shotcut technique to accomplish multiple effects, like the parallax slash vertigo effect, also known as the Dolly Zoom, as well as a cool way to animate your photos.”

The finished result plays before any of the build is shown. Nothing in this frame is video: it is two flat photographs animated against each other, which is why the same technique can produce three different named effects.

0:57
CHAPTER 02

Two stills — a background photograph, a cut-out foreground

“In this example, just to make it simple, I’m going to use two images, one background and one foreground.”

The Playlist holds the whole project. forest-back.jpeg is the forest photograph that becomes the background; pngwave.png is a transparent cut-out of the couple that becomes the foreground. Both import at a source duration of 00:00:04:00. A still background works, but a video clip in its place reads as more realistic.

1:19
CHAPTER 03

Stretch both stills to about ten seconds

“I’m just going to stretch this out to about 10 seconds so that it gives us a longer video playtime.”

Each still lands on the timeline four seconds long and is dragged out by its edge. The background goes on V1, the transparent couple on V2 directly above it, and both are matched so the pair start and end together. This project settles at 00:00:10:19.

1:52
CHAPTER 04

Place the couple with Y offset

“I’m going to click the filters tab and look for Rotate and Scale. What I’m going to do is I’m just going to move them down a little bit using the Y offset field.”

The foreground clip gets the only filter this entire tutorial uses: Rotate and Scale. Its four fields are Rotation, Scale, X offset and Y offset — in this build there is no Zoom control and no Size mode dropdown. Y offset is typed up from 0, passing through 209 in this frame and settling at 233, which drops the couple down the frame onto the snow.

3:28
CHAPTER 05

Keyframe the background — Scale and Y offset together

“Once again, I’m going to be using the Y offset and I’m going to be framing that from zero to about 67.”

Two stopwatch buttons are lit blue on forest-back.jpeg: Scale and Y offset are both keyframed, so the background pushes in and rises at the same time. The opening keyframe reads 118.6 % and 0. The spoken figure of 67 is not what the panel shows — the readings on the way to the closing keyframe run past 100, and the closing value itself is never displayed.

4:47
CHAPTER 06

The dolly zoom — background in, foreground out

“Essentially, what I’m going to do is zoom in the background at a specific speed and zoom out the foreground at a slower speed.”

This is the beat that separates a dolly zoom from an ordinary push-in. The foreground couple get Scale keyframes running the opposite way: 100.0 % at the start, 87.8 % at the end, so they shrink while the trees grow. Y offset is keyframed alongside, carrying them from 233 down as they recede.

6:10
CHAPTER 07

Retune the background for a faster push

“I think I’m going to change the scaling a little bit, just seeing what it looks like if I move it a little faster.”

The closing background keyframe is raised. During playback the panel now runs past the earlier 200.0 % ceiling — it reads 226.1 % here with 88 of lift. Only these mid-playback readings are ever on screen; the closing value itself is not shown.

6:52
CHAPTER 08

From dolly zoom to parallax — start over clean

“Next, I want to show you a variation of this technique to accomplish the parallax effect, which is basically a way of making your images and videos more dynamic by changing the speed of how fast the background moves with respect to the foreground.”

The timeline is cleared and the same two files are laid in again from the Playlist. Nothing carries over from the first build. The parallax version keyframes a different field entirely, and starting clean is what keeps the two effects distinguishable instead of blurring into one another.

7:18
CHAPTER 09

Rebuild the stack, then oversize the background

“I’m actually going to increase the size of it because what I’m going to do is I’m going to move this image from left to right. I want to give myself a little bit more play so that when I do so, I’m not showing little black areas on the left side or the right side.”

Same two tracks, same ten-second span — this project reads 00:00:10:03. The foreground is positioned with Y offset again, settling at 222. The background is then scaled to 133.4 %, oversize on purpose: those extra pixels are the travel room the sideways pan is about to eat.

9:07
CHAPTER 10

Sweep the background across with X offset

“I’m going to go all the way to the end and I’m going to change the keyframe and make it move all the way to the right edge of the background.”

X offset is the keyframed field this time and Scale is left alone — that single swap is the whole difference between this build and the dolly zoom. The opening keyframe sits at 140; the closing keyframe is typed as −95 in this frame, then pulled back to −80 because −95 travelled far enough to expose a black edge.

9:58
CHAPTER 11

Nudge the foreground about a ninth as far

“I’m not going to move them as far so their movement is going to be slightly more subtle than the movement in the background, and so hopefully that differential in movement creates enough to create that illusion of depth.”

The whole parallax lives in this ratio. The foreground gets X offset keyframes of its own, 0 to −24 — a travel of 24 against the background’s 220, roughly a ninth as far. The couple barely appear to move at all; the depth comes entirely from the difference in rate.

11:30
CHAPTER 12 · DERIVED

Outro — requests and subscribe

“Yep, I think we got a winner. There you go.”

End card over the finished parallax loop. Nothing is built here. This card is derived from the frames: the published chapter list stops at 9:58 while the video runs to 12:01.

build it yourself

The shared stack, then the two variations

Every number below was read off the screen in the video. Where a value was never shown settled — and several closing keyframes never were — it is said so plainly rather than guessed at.

STEP 01

Get a foreground cut cleanly from its background

The technique needs two layers that can move independently, so the subject has to already be separated. Here that is pngwave.png, a transparent PNG, over forest-back.jpeg. Both are stills; the same build works on video clips, which is what Ben says he normally uses.

background forest-back.jpegforeground pngwave.pngsource duration 00:00:04:00 eachfilters at this point none
Shotcut interface at 1:00
1:00 · the Playlist is the whole asset list — one background photograph, one transparent cut-out

A still background is the simplest case. Swapping a video clip in for the background costs nothing in the build and reads as more realistic, because the leaves and light are already alive before any keyframe is added.

STEP 02

Stack them — background on V1, foreground on V2

Drag the background photograph onto V1, add a second video track, and put the transparent foreground on V2 directly above it. Each still arrives four seconds long; drag each clip’s edge out to roughly ten seconds and match them so the pair start and end together.

Matching the two clip lengths matters more than hitting exactly ten seconds. The keyframes are placed at the first and last frame of each clip, so a mismatch means the two layers finish their moves at different moments and the illusion breaks at the tail.

STEP 03

Add Rotate and Scale and place the subject

Select the foreground clip, open Filters, press + and search for the filter. This build has one filter and one only — Rotate and Scale, with four fields.

filter Rotate and ScaleRotation 0.0 degScale 100.0 %X offset 0Y offset 0 → 233
Shotcut interface at 1:50
1:50 · Rotate and Scale on the foreground clip: four fields, and the Y offset stopwatch about to be clicked

Note what is not here. This release exposes Rotation, Scale, X offset and Y offset. There is no Zoom field and no Size mode dropdown — those belong to the later Size, Position & Rotate filter, which this build predates. Positive Y offset moves the layer down the frame.

STEP 04

Variation A — the dolly zoom: keyframe Scale on both layers

Put the playhead on the first frame of the clip and click the stopwatch beside Scale to start keyframing, then move to the last frame and type the closing value. Do it on both layers with the endpoints running opposite ways.

background Scale 118.6 % → raised past 200.0 %foreground Scale 100.0 % → 87.8 %X offset, both 0, not keyframed
Shotcut interface at 2:40
2:40 · the background’s closing Scale typed as 220 % at this point, later retyped

The background’s closing Scale was typed as 220 % at 2:40, retyped to 200.0 % at 3:20, and raised again at 6:10 — playback readings afterwards pass 226.1 %, above the old ceiling. The raised value is never displayed on screen, so it is not stated here as a number.

STEP 05

Add a little vertical drift so it is not a dead centre push

With the same clip selected, click the stopwatch beside Y offset as well. The background then rises as it grows instead of expanding symmetrically out of the middle, which is what stops the move looking mechanical.

background Y offset 0 → above 105foreground Y offset 233 → about 283

The spoken figure for the background’s closing Y offset is “about 67”. The panel disagrees: playback readings reach 105 at 4:20 with Scale at 197.8 %, so the closing keyframe is higher than 67. It is never shown settled, so the verified range below stops at what was actually on screen.

STEP 06

Variation B — the parallax: clear the timeline and start again

Lay the same two files back in on the same two tracks, ten seconds again. This project reads 00:00:10:03. Position the foreground with Y offset as before, settling at 222.

Starting clean is deliberate. The parallax keyframes a different field from the dolly zoom, and leaving the previous Scale keyframes in place would give you both effects at once — which is a legitimate look, but not a demonstration of either one.

STEP 07

Oversize the background before you pan it

Select the background and raise Scale until the frame has slack on both sides. Typed to 122.7 % first, settled at 133.4 %. Those surplus pixels are what the sideways travel consumes; without them the pan drags a black edge into frame.

background Scale 133.4 %foreground Scale 100.0 %foreground Y offset 222project 00:00:10:03
Shotcut interface at 8:30
8:30 · background oversized to 133.4 %, X offset still 0 — the pan has not started

How much oversize you need is set by how far you intend to travel, so size the background after you have decided the sweep, or expect to come back and raise it. Ben overshoots the closing keyframe once at 9:07 and sees exactly that black edge.

STEP 08

Keyframe X offset on both layers — far on one, barely on the other

Leave Scale alone entirely. Keyframe X offset on the background from 140 to −80, then keyframe X offset on the foreground from 0 to −24. That is the entire parallax.

background X offset 140 → −80foreground X offset 0 → −24travel ratio about 9 : 1
Shotcut interface at 9:30
9:30 · closing background keyframe corrected to −80 after −95 pulled a black edge into frame

The ratio is the effect. 220 of background travel against 24 of foreground travel is about nine to one. Push the foreground much further and the pair start reading as one flat card sliding across; leave it at zero and the shot goes stiff.

settings reference

Every verified value in one place

Read directly off the frames of the video. Values typed and left in place are marked final; values seen only mid-playback are listed separately as interpolated readings, because a moving keyframed field shows you the interpolation, not the keyframe.

Project, files and the one filter
SettingValueWhere it lives
Project duration, build A00:00:10:19Player, Project tab
Project duration, build B00:00:10:03Player, Project tab
Background fileforest-back.jpegPlaylist item #1, on V1
Foreground filepngwave.pngPlaylist item #2, on V2
Source duration, both stills00:00:04:00Playlist
Timeline clip length, both buildsabout 10 s, stretched by handTimeline
Track stackV2 foreground cut-out / V1 background photographTimeline
Filter, the only one usedRotate and ScaleBoth clips, both builds
Rotation0.0 degNever changed, either build
Fields this filter exposesRotation, Scale, X offset, Y offsetFilters panel
Fields it does not exposeZoom, Size modeNot present in this release
Shotcut versionNot shown — no title bar, no About dialogn/a
Build A — dolly zoom / vertigo: keyframed values
LayerFieldOpening keyframeClosing keyframeStatus
forest-back.jpeg backgroundScale118.6 %raised past 200.0 %closing value not shown settled
forest-back.jpeg backgroundY offset0above 105closing value not shown settled
pngwave.png foregroundScale100.0 %87.8 %both endpoints typed on screen
pngwave.png foregroundY offset233about 283closing value not shown settled
pngwave.png foregroundX offset00not keyframed in this build
Build B — parallax: keyframed values
LayerFieldOpening keyframeClosing keyframeStatus
forest-back.jpeg backgroundX offset140−80both endpoints typed; −95 tried first, too far
pngwave.png foregroundX offset0−24both endpoints typed on screen
forest-back.jpeg backgroundScale133.4 %133.4 %static, not keyframed — oversize for travel room
pngwave.png foregroundScale100.0 %100.0 %static, not keyframed
pngwave.png foregroundY offset222222static, not keyframed
Every panel reading, timestamped — typed values and interpolation
TimeClipScaleX offsetY offsetWhat is happening
2:00pngwave.png100.0 %0209typing the subject down the frame
2:10pngwave.png100.0 %0233settled position, build A
2:20forest-back.jpeg118.6 %00background sized up
2:40forest-back.jpeg220 %00first closing Scale typed
2:50forest-back.jpeg141.3 %00interpolated, playing back
3:00forest-back.jpeg120.2 %00interpolated, playing back
3:20forest-back.jpeg200.0 %025closing Scale retyped
3:30forest-back.jpeg118.6 %00opening keyframe, both stopwatches lit
3:40forest-back.jpeg128.1 %013interpolated, playing back
4:00forest-back.jpeg150.8 %043interpolated, playing back
4:20forest-back.jpeg197.8 %0105interpolated, near the close
4:30forest-back.jpeg186.1 %090interpolated, playing back
4:40pngwave.png100.0 %0233foreground selected, no keyframes yet
4:50pngwave.png99.1 %0233typing the foreground Scale
5:00pngwave.png87.8 %0233closing foreground Scale typed
5:20pngwave.png99.5 %0235interpolated, playing back
5:30pngwave.png88.1 %0282interpolated, near the close
5:40pngwave.png92.5 %0264interpolated, playing back
6:00pngwave.png100.0 %0233opening keyframe, build A foreground
6:10forest-back.jpeg118.6 %00opening keyframe, build A background
6:20forest-back.jpeg226.1 %088interpolated, past the old ceiling
6:30forest-back.jpeg213.3 %078interpolated, playing back
8:00pngwave.png100.0 %065typing position, build B
8:10pngwave.png100.0 %0222settled position, build B
8:20forest-back.jpeg122.7 %00typing the oversize
8:30forest-back.jpeg133.4 %00settled oversize
8:40forest-back.jpeg133.4 %1540hunting the left edge
8:50forest-back.jpeg133.4 %1400opening X offset keyframe
9:10forest-back.jpeg133.4 %−950closing keyframe, overshoots
9:20forest-back.jpeg133.4 %1400back at the opening keyframe
9:30forest-back.jpeg133.4 %−800closing keyframe, corrected
9:50pngwave.png100.0 %0222opening foreground keyframe
10:00pngwave.png100.0 %−24222closing foreground keyframe
10:10pngwave.png100.0 %−18222interpolated, playing back
10:20pngwave.png100.0 %−6222interpolated, playing back
11:10pngwave.png100.0 %−15222interpolated, playing back

Rotation reads 0.0 deg in every single frame of this video, on both layers, in both builds. It is never touched. Neither is Size mode, which does not exist in this release — and the Shotcut version is never shown either: the capture is cropped above the window title bar and the About Shotcut dialog is never opened, so no version number appears anywhere in the twelve minutes.

full transcript

Everything said, timestamped

Machine transcribed from the video audio. Spoken phrasing is left as-is; only the product and filter names Whisper mangled have been corrected — including “vertical effect”, which is Ben saying vertigo. Every timestamp plays the video in the hero from that second.

+ open the full transcript 110 lines · 12:01
0:05

I’m just a normal person with no video editing background who wanted to start making YouTube

0:10

videos and maybe add semi-fancy effects.

0:14

I don’t really plan on making major motion pictures or commercials, so I was looking

0:19

for a free, easy-to-learn video editing software.

0:22

Luckily, I stumbled on Shotcut, a free, open-source video editing program that has

0:29

the potential to replicate similar effects that an Adobe Premiere or DaVinci Resolve can,

0:36

but with a simpler, leaner interface. It just takes imagination, so let’s learn together.

0:45

Hey guys, welcome back. In this tutorial, I want to show you how to use one Shotcut technique

0:51

to accomplish multiple effects, like the parallax slash vertigo effect, also known as the

0:56

Dolly Zoom, as well as a cool way to animate your photos.

1:02

In this example, just to make it simple, I’m going to use two images, one background and

1:08

one foreground. As you can see, I’m using a static image of a forest as my background

1:13

track, but you can easily use a video to give it a little bit more realism. I’m just

1:19

going to stretch this out to about 10 seconds so that it gives us a longer video

1:23

playtime. Now, the second image is a transparent PNG that I’m going to put on the upper track,

1:31

like that. Then I’m just going to put it into place, stretch that to about 10 seconds. The

1:37

first thing I’m going to do is I’m going to try to put the couple in the right position.

1:41

I’m going to select the track where the couple is located, then I’m going to click

1:46

the filters tab and look for Rotate and Scale. What I’m going to do is I’m just going to move

1:53

them down a little bit using the Y offset field. Let’s move them down a little bit here until

2:04

we get them to maybe right there. Perfect. What we want to do now is add additional movement

2:14

or zooming in effect to this video or image that you’re working on. I’m going to hide

2:22

the top track just so I only see the effect happening on the lower track. Once again,

2:28

with the lower track selected, we’re going to use the filter called Rotate and Scale. In

2:33

this particular trick, what we want to do is we want to use the keyframes. I’ve already

2:39

selected what the sizing is going to be in the initial keyframe and now I’m choosing what

2:47

size I want to make it zoom into in my final keyframe. In playing this, you can see what

2:56

it’s doing. There really isn’t a specific rule on how far you want this thing to zoom

3:04

in. It just depends on how fast you want the video to move. In this instance, I’m

3:10

barely zooming in. Just add a little bit more dynamic movement to my zoom. Not only do I

3:18

want to zoom from the center, I also want it, as it’s zooming, to slightly move upwards

3:26

just to give it a little bit more realism. Once again, I’m going to be using the Y

3:30

offset and I’m going to be framing that from zero to about 67. Let’s move it a

3:39

little bit off-center, a little bit more, maybe right there, and then let’s see how

3:44

that thing looks like. That looks pretty cool. Looks pretty realistic. Now let’s

3:53

see what it looks like when we add the foreground image back in just to get the

3:59

full effect. Let’s check it out. Already that looks pretty cool with the

4:06

foreground image. It should not even have any movement whatsoever. It just looks

4:09

like they’re moving forward. Let’s play it again. Yeah, that looks cool. Okay, I

4:32

think that works. Now let’s add a dolly zoom effect. What makes this effect so cool

4:38

is that the foreground and the background move independently of each other. It’s

4:42

best that they are not moving at the same speed, even if they’re moving in the

4:45

same direction. Essentially, what I’m going to do is zoom in the background

4:49

at a specific speed and zoom out the foreground at a slower speed. Since the

4:54

couple, which is the foreground image, is already set at a specific size, I’m

4:59

just going to be using the keyframes to set the ending size to change the scale

5:05

from a bigger version to a slightly smaller version to make it look like it’s

5:10

walking away from us. That’s what I’m doing right now is I’m just setting the

5:17

sizing and maybe dropping them a little bit and just seeing what looks natural.

5:23

Again, your mileage may vary. You may try different sizes and different

5:28

positioning just to see what works better. But essentially, you’re seeing the kind

5:33

of effect that I’m trying to accomplish just by allowing the background to zoom

5:39

in and allowing the foreground to zoom out. Here I’m just kind of playing it

5:47

over and over, testing it just to see if it’s accomplishing the effect that

5:53

I wanted to accomplish, which it looks pretty good right now. I think we’re

5:57

pretty much there. Let me just look at it for a couple more iterations and then

6:04

we’re going to, I think we’re going to put this one to bed. I think I’m going

6:11

to change the scaling a little bit, just seeing what it looks like if I move

6:20

it a little faster. Again, that looks cool. I just wanted to remind you

6:25

that I’m using static images for this, but there’s no reason why you can’t use

6:31

a mask on videos to get the exact same effect. In fact, most of the time when

6:37

I employ this technique, I use it on videos rather than images. That’s

6:44

pretty much it. I hope you like this technique. Next, I want to show you

6:50

a variation of this technique to accomplish the parallax effect, which

6:54

is basically a way of making your images and videos more dynamic by

6:59

changing the speed of how fast the background moves with respect to the

7:04

foreground. Once again, I’m going to start with the same two images that I

7:09

had in the previous tutorial and I’m going to separate them into the

7:14

foreground track and the background track. Let’s start with the background

7:17

again. I’m going to stretch it out to about 10 seconds again, so we have

7:21

at least 10 seconds worth of video. Right about there. It should be good enough.

7:33

Then I’m going to drag the foreground image right in front of it. Again, it’s

7:37

the same couple. Once again, I’m going to drag it again to match the

7:41

background close to 10 seconds. That should be good. In this one, what

7:50

I’m going to do is I’m going to select the foreground image, which is the

7:54

couple. I’m then going to go into filters and then pick Rotate and Scale.

7:58

Then I’m going to choose the Y offset setting just to move them into

8:03

place. I’m going to move them down a little bit until I find what I

8:09

think looks most natural in this environment, which is probably right

8:15

around there. Then I’m going to select the background image and again, use the

8:21

Rotate and Scale. I’m actually going to increase the size of it because what

8:25

I’m going to do is I’m going to move this image from left to right. I want

8:31

to give myself a little bit more play so that when I do so, I’m not showing

8:37

little black areas on the left side or the right side. Now to move the

8:42

background image from left to right, I’m going to now use the X offset and I’m

8:46

just going to try to position the background to the very leftmost place

8:52

that I can put it. That’s where I’m going to set my initial keyframe and

8:59

then once I’ve selected that, I’m then going to go all the way to the

9:04

end and I’m going to change the keyframe and make it move all the

9:09

way to the right edge of the background.

9:16

Okay, right there. When you see the black area, I’ve kind of gone too far past

9:23

the edge. Let’s just play it and see what that effect looks like. So now

9:29

the background is moving from left to right.

9:36

That’s pretty cool.

9:43

So what I want to do now is I then want to move my foreground image

9:48

from right to left and so if you remember, I moved my background image

9:56

from left to right but I’m going to move my foreground image from right

10:01

to left but I’m not going to move them as far so their movement is going

10:06

to be slightly more subtle than the movement in the background and so

10:11

hopefully that differential in movement creates enough to create that illusion

10:18

of depth. So let’s play it. Let’s see how it works here.

10:28

Maybe make some slight adjustments but already it looks pretty cool.

10:35

Let’s move the couple a little bit more off-center so you can tell how far

10:44

they move based on that keyframe. So again, the foreground image doesn’t

10:53

even look like it’s moving at all but you do get that depth because of how

10:58

fast the background image is moving and that focus is pretty much what

11:03

the parallax effect is.

11:13

Yeah, I like it.

11:30

Yep, I think we got a winner. There you go.

11:55

Let’s help each other out. I appreciate your subscription. Until next time.