Ken Burns effect

Get answers to your questions about color grading, editing and finishing with DaVinci Resolve.
  • Author
  • Message
Offline

omagnan

  • Posts: 1
  • Joined: Sun Mar 14, 2021 3:01 pm
  • Real Name: Olivier Magnan

Ken Burns effect

PostSun Mar 14, 2021 3:11 pm

Hello,

I'm new here. I try to start using DaVinci Resolve 17. I used to use Adobe Premiere a few years ago, and more recently i have to use iMovie. But this last one is not enough for what I want to do, it is why I switch to DaVinci, which is more familiar to me, but i'm VERY FAR from mastering it, actually, i'm just beginning...

So I will have tons and tons of questions....

The first one is how to reproduce the Ken Burns Effect like in iMovie :

What I want is to insert a picture in my movie which will be smaller than the movie, kind of thumbnail in a corner (I managed to do it). And I want to zoom in or out and pan in the picture : this is more difficult.

I try with dynamic zoom, but the picture change in size and move in the screen.

Actually, I want it to stay still and the same size, but I want to see the Ken Burns effect like in a window.

I don't know if my explanations are clear.....

Thanks for your help.

Olivier
Offline
User avatar

Igor Riđanović

  • Posts: 1619
  • Joined: Thu Jul 02, 2015 5:11 am
  • Location: Los Angeles, Calif.

Re: Ken Burns effect

PostMon Mar 15, 2021 6:24 am

You can do this in the edit page using the inspector or in the color page using sizing. Both are very clunky and hard to control. Fusion page is superb for this kind of work. You can use the transform node and control the motion very precisely with curves. To get started you can copy and paste this comp into the Fusion node area.

Code: Select all
{
   Tools = ordered() {
      YourImageHere = GroupOperator {
         CtrlWZoom = false,
         NameSet = true,
         Outputs = {
            Output1 = InstanceOutput {
               SourceOp = "Merge1",
               Source = "Output",
            }
         },
         ViewInfo = GroupInfo {
            Pos = { 72, 32.3 },
            Flags = {
               AllowPan = false,
               AutoSnap = true,
               RemoveRouters = true
            },
            Size = { 236, 118.3, 118, 22 },
            Direction = "Horizontal",
            PipeStyle = "Direct",
            Scale = 1,
            Offset = { -72, -32.3 }
         },
         Tools = ordered() {
            Merge1 = Merge {
               Inputs = {
                  Background = Input {
                     SourceOp = "Background1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Plasma1",
                     Source = "Output",
                  },
                  PerformDepthMerge = Input { Value = 0, },
               },
               ViewInfo = OperatorInfo { Pos = { 127, 97 } },
            },
            Background1 = Background {
               Inputs = {
                  GlobalOut = Input { Value = 80, },
                  Width = Input { Value = 1920, },
                  Height = Input { Value = 1080, },
                  ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
               },
               ViewInfo = OperatorInfo { Pos = { 17, 97 } },
            },
            Plasma1 = Plasma {
               Inputs = {
                  GlobalOut = Input { Value = 80, },
                  Width = Input { Value = 1920, },
                  Height = Input { Value = 1080, },
                  ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
               },
               ViewInfo = OperatorInfo { Pos = { 33, 43 } },
            }
         },
      },
      Transform1 = Transform {
         Inputs = {
            Center = Input {
               SourceOp = "XYPath1",
               Source = "Value",
            },
            Size = Input {
               SourceOp = "Transform1Size",
               Source = "Value",
            },
            Input = Input {
               SourceOp = "Merge1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 322, 89 } },
      },
      XYPath1 = XYPath {
         ShowKeyPoints = false,
         DrawMode = "ModifyOnly",
         Inputs = {
            X = Input {
               SourceOp = "XYPath1X",
               Source = "Value",
            },
            Y = Input {
               SourceOp = "XYPath1Y",
               Source = "Value",
            },
         },
      },
      XYPath1X = BezierSpline {
         SplineColor = { Red = 255, Green = 0, Blue = 0 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0.5, RH = { 26.6666666666667, 0.5 } },
            [80] = { 0.60941475826972, LH = { 53.3333333333333, 0.60941475826972 } }
         }
      },
      XYPath1Y = BezierSpline {
         SplineColor = { Red = 0, Green = 255, Blue = 0 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0.5, RH = { 26.6666666666667, 0.5 } },
            [80] = { 0.364253393665158, LH = { 53.3333333333333, 0.364253393665158 } }
         }
      },
      Transform1Size = BezierSpline {
         SplineColor = { Red = 225, Green = 0, Blue = 225 },
         NameSet = true,
         KeyFrames = {
            [0] = { 1, RH = { 26.6666666666667, 1 } },
            [80] = { 1.547, LH = { 53.3333333333333, 1.547 } }
         }
      }
   }
}
www.metafide.com - DaVinci Resolve™ Apps
Offline

Ivanturas

  • Posts: 41
  • Joined: Thu Feb 25, 2021 6:08 pm
  • Real Name: Iván Fuentes Hagar

Re: Ken Burns effect

PostMon Mar 15, 2021 2:47 pm

omagnan wrote:I don't know if my explanations are clear.....

Not quite, really... but hey, I'm ESL, so I guess my reading skills aren't quite up to it.

You want it to rescale and pan? I know you can scale, reposition and rotate, all from the basic parameters within the inspector.
Offline

Jim Simon

  • Posts: 31017
  • Joined: Fri Dec 23, 2016 1:47 am

Re: Ken Burns effect

PostMon Mar 15, 2021 3:33 pm

omagnan wrote:actually, i'm just beginning...

BMD has made some excellent training resources available to us. I found them very helpful, the training manuals in particular.

https://www.blackmagicdesign.com/produc ... e/training
My Biases:

You NEED training.
You NEED a desktop.
You NEED a calibrated (non-computer) display.
Offline

AndySP

  • Posts: 34
  • Joined: Sun May 22, 2022 6:01 am
  • Real Name: Andy Simon

Re: Ken Burns effect

PostWed Jun 01, 2022 8:32 am

Igor Riđanović wrote:You can do this in the edit page using the inspector or in the color page using sizing. Both are very clunky and hard to control. Fusion page is superb for this kind of work. You can use the transform node and control the motion very precisely with curves. To get started you can copy and paste this comp into the Fusion node area.

Code: Select all
{
   Tools = ordered() {
      YourImageHere = GroupOperator {
         CtrlWZoom = false,
         NameSet = true,
         Outputs = {
            Output1 = InstanceOutput {
               SourceOp = "Merge1",
               Source = "Output",
            }
         },
         ViewInfo = GroupInfo {
            Pos = { 72, 32.3 },
            Flags = {
               AllowPan = false,
               AutoSnap = true,
               RemoveRouters = true
            },
            Size = { 236, 118.3, 118, 22 },
            Direction = "Horizontal",
            PipeStyle = "Direct",
            Scale = 1,
            Offset = { -72, -32.3 }
         },
         Tools = ordered() {
            Merge1 = Merge {
               Inputs = {
                  Background = Input {
                     SourceOp = "Background1",
                     Source = "Output",
                  },
                  Foreground = Input {
                     SourceOp = "Plasma1",
                     Source = "Output",
                  },
                  PerformDepthMerge = Input { Value = 0, },
               },
               ViewInfo = OperatorInfo { Pos = { 127, 97 } },
            },
            Background1 = Background {
               Inputs = {
                  GlobalOut = Input { Value = 80, },
                  Width = Input { Value = 1920, },
                  Height = Input { Value = 1080, },
                  ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
               },
               ViewInfo = OperatorInfo { Pos = { 17, 97 } },
            },
            Plasma1 = Plasma {
               Inputs = {
                  GlobalOut = Input { Value = 80, },
                  Width = Input { Value = 1920, },
                  Height = Input { Value = 1080, },
                  ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
               },
               ViewInfo = OperatorInfo { Pos = { 33, 43 } },
            }
         },
      },
      Transform1 = Transform {
         Inputs = {
            Center = Input {
               SourceOp = "XYPath1",
               Source = "Value",
            },
            Size = Input {
               SourceOp = "Transform1Size",
               Source = "Value",
            },
            Input = Input {
               SourceOp = "Merge1",
               Source = "Output",
            },
         },
         ViewInfo = OperatorInfo { Pos = { 322, 89 } },
      },
      XYPath1 = XYPath {
         ShowKeyPoints = false,
         DrawMode = "ModifyOnly",
         Inputs = {
            X = Input {
               SourceOp = "XYPath1X",
               Source = "Value",
            },
            Y = Input {
               SourceOp = "XYPath1Y",
               Source = "Value",
            },
         },
      },
      XYPath1X = BezierSpline {
         SplineColor = { Red = 255, Green = 0, Blue = 0 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0.5, RH = { 26.6666666666667, 0.5 } },
            [80] = { 0.60941475826972, LH = { 53.3333333333333, 0.60941475826972 } }
         }
      },
      XYPath1Y = BezierSpline {
         SplineColor = { Red = 0, Green = 255, Blue = 0 },
         NameSet = true,
         KeyFrames = {
            [0] = { 0.5, RH = { 26.6666666666667, 0.5 } },
            [80] = { 0.364253393665158, LH = { 53.3333333333333, 0.364253393665158 } }
         }
      },
      Transform1Size = BezierSpline {
         SplineColor = { Red = 225, Green = 0, Blue = 225 },
         NameSet = true,
         KeyFrames = {
            [0] = { 1, RH = { 26.6666666666667, 1 } },
            [80] = { 1.547, LH = { 53.3333333333333, 1.547 } }
         }
      }
   }
}



Thanks for this - I stumbled over this recently and it does exactly what I also was looking for.

Quick question to you or anyone that may be able to help:

When I apply this in the Fusion page to a clip, it works fine and does exactly what I want it to do, same if I create a Macro from it. ... BUT

When I apply it as an Effect from the Edit page, it zooms the clip window in/out rather than just the content within the clip window. (As if I was applying a dynamic zoom effect, or keying a manual transform->zoom).

I understand this may be something to do with the order of operations?

Does anyone know how I can apply this as an Effect but have it zoom only the content not the clip itself?


Many Thanks

Return to DaVinci Resolve

Who is online

Users browsing this forum: BartReynaard, bclontz, Bing [Bot], panos_mts, Vazdanel and 159 guests