Export 4 split vertical videos from a landscape timeline

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

sb4photos

  • Posts: 38
  • Joined: Sun Feb 02, 2020 10:33 pm
  • Real Name: scott Belzner

Export 4 split vertical videos from a landscape timeline

PostMon Apr 07, 2025 4:32 am

Hi. Is there a way when exporting ,to have a landscape timeline video, exported as 4 vertical videos for 4 separate files (led walls)
Offline

Darryl

  • Posts: 250
  • Joined: Sat May 05, 2018 12:07 am
  • Real Name: Darryl Severn

Re: Export 4 split vertical videos from a landscape timeline

PostMon Apr 07, 2025 7:30 am

I haven't done what you have to do, but I have rendered the same video in different formats before. In principle you have 4 different render jobs. Each of them uses the same source footage, but in the edit page you set up the changes needed for each render, then go to the deliver page and create the render job.

In the case you described, I think I would set up 4 adjustment clips, and set up the clipping on each to give the section you want for each part of the video wall. Then before setting up the render, turn off all the adjustment clips except the one you need. I was thinking adjustment clips as that will allow you to test beforehand if the clipping is in the correct place for each panel before you start the render.

HTH
Darryl
Darryl Severn
The Videoverse by Darbeth
Livestreaming, Conferences, Info & Education, Events

Kit:
BMPCC 4K, Studio Cam 4K Pro, ATEM Mini Extreme ISO, Resolve Studio
DJI Inspire 2, Panasonic HCPV100,
Behringer XR16, Sennheiser XSW
Offline

sb4photos

  • Posts: 38
  • Joined: Sun Feb 02, 2020 10:33 pm
  • Real Name: scott Belzner

Re: Export 4 split vertical videos from a landscape timeline

PostMon Apr 07, 2025 7:33 am

hi thanks for the reply.
yeh i think ill need to set up as 4 seperate exports as vertical and have some sort or marker to know where to pan across .
thought this might be out of normal use needs haha
Offline
User avatar

KrunoSmithy

  • Posts: 4595
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Real Name: Kruno Stifter

Re: Export 4 split vertical videos from a landscape timeline

PostMon Apr 07, 2025 11:10 am

I assume you want to split one horizontal or landscape format video into four vertical formats. If so, you could try video collage Resolve FX, but things get a bit tricky when you need to use differnt aspect ratios for working vs output timeline. I think there has been some adjustments made in Resolve 20, but if you are using earlier versions, while its possible to set up input and output sizing and all that, I would probably combine fusion for cropping and export for differnt videos. If you need for separate vertical videos that when combine re-assemble the original landscape format video.

So what I would probably do to make it easier, is I would bring in the horizontal video into vertical format timeline. Than open it in fusion page. Fusion will by default work with original file from media pool, giving you access to all the pixels. Ignoring timeline.

You can than use crop tool to make four crops in offset from each other and easily export the results on a vertical timeline from deliver page.

Since you need for crops, you can use value files in pixels in the crop tool in fusion, but you can easily control the height and width that you need by entering the values in pixels. This should match your timeline. And than you have two other slides for offset where you can easily offset the image inside the crop to cover all the video. Similar to panorama photography.

By the way in fusion you can use the fields for numbers also as calculator. So if you have 1920 that you want to split 4 times, you can simply enter 1920/4 = 480. So its easy to do math for your situation.

Here is my basic set up that I will post here so you can use and adjust to your needs.

I'm using standard FullHD 1920x1080px video cropped in four parts for reference, here, but if you work with UltraHD you can adjust the values for your needs.

Make a vertical format timeline that you need and drag your video onto it.

sshot-1025.jpg
sshot-1025.jpg (227.19 KiB) Viewed 482 times


Copy this code to your clipboard, and paste it into fusion node area. Fusion nodes are in lua programing language so they can be shared as text. All you have to do is paste this in node tree area of fusion.

Code: Select all
{
   Tools = ordered() {
      GridWarp1 = GridWarp {
         SrcDrawMode = 1,
         DestDrawMode = 1,
         Inputs = {
            Show = Input { Value = 0, },
            MagnetType = Input { Value = 0, },
            SrcXGridSize = Input { Value = 4, },
            SrcYGridSize = Input { Value = 1, },
            SrcGridChange = Input {
               Value = Mesh {
                  Count = 10,
                  Col = 5,
                  DeltaR = 1,
                  DeltaC = 0.25,
                  P1X = -0.5,
                  P1Y = -0.5,
                  Points = {
                     { X = -0.5, Y = -0.5, L_CX = 0, T_CY = 0, },
                     { X = -0.25, Y = -0.5, T_CY = 0, },
                     { X = 0, Y = -0.5, T_CY = 0, },
                     { X = 0.25, Y = -0.5, T_CY = 0, },
                     { X = 0.5, Y = -0.5, T_CY = 0, R_CX = 0, },
                     { X = -0.5, Y = 0.5, L_CX = 0, B_CY = 0, },
                     { X = -0.25, Y = 0.5, B_CY = 0, },
                     { X = 0, Y = 0.5, B_CY = 0, },
                     { X = 0.25, Y = 0.5, B_CY = 0, },
                     { X = 0.5, Y = 0.5, R_CX = 0, B_CY = 0, }
                  },
                  SavePoints = {
                  }
               },
            },
            SrcPolyline = Input {
               Value = Polyline {
               },
            },
            DstGridChange = Input {
               Value = Mesh {
                  Count = 81,
                  Col = 9,
                  DeltaR = 0.125,
                  DeltaC = 0.125,
                  P1X = -0.5,
                  P1Y = -0.5,
                  Points = {
                     { X = -0.5, Y = -0.5, L_CX = 0, T_CY = 0, },
                     { X = -0.375, Y = -0.5, T_CY = 0, },
                     { X = -0.25, Y = -0.5, T_CY = 0, },
                     { X = -0.125, Y = -0.5, T_CY = 0, },
                     { X = 0, Y = -0.5, T_CY = 0, },
                     { X = 0.125, Y = -0.5, T_CY = 0, },
                     { X = 0.25, Y = -0.5, T_CY = 0, },
                     { X = 0.375, Y = -0.5, T_CY = 0, },
                     { X = 0.5, Y = -0.5, T_CY = 0, R_CX = 0, },
                     { X = -0.5, Y = -0.375, L_CX = 0, },
                     { X = -0.375, Y = -0.375, },
                     { X = -0.25, Y = -0.375, },
                     { X = -0.125, Y = -0.375, },
                     { X = 0, Y = -0.375, },
                     { X = 0.125, Y = -0.375, },
                     { X = 0.25, Y = -0.375, },
                     { X = 0.375, Y = -0.375, },
                     { X = 0.5, Y = -0.375, R_CX = 0, },
                     { X = -0.5, Y = -0.25, L_CX = 0, },
                     { X = -0.375, Y = -0.25, },
                     { X = -0.25, Y = -0.25, },
                     { X = -0.125, Y = -0.25, },
                     { X = 0, Y = -0.25, },
                     { X = 0.125, Y = -0.25, },
                     { X = 0.25, Y = -0.25, },
                     { X = 0.375, Y = -0.25, },
                     { X = 0.5, Y = -0.25, R_CX = 0, },
                     { X = -0.5, Y = -0.125, L_CX = 0, },
                     { X = -0.375, Y = -0.125, },
                     { X = -0.25, Y = -0.125, },
                     { X = -0.125, Y = -0.125, },
                     { X = 0, Y = -0.125, },
                     { X = 0.125, Y = -0.125, },
                     { X = 0.25, Y = -0.125, },
                     { X = 0.375, Y = -0.125, },
                     { X = 0.5, Y = -0.125, R_CX = 0, },
                     { X = -0.5, Y = 0, L_CX = 0, },
                     { X = -0.375, Y = 0, },
                     { X = -0.25, Y = 0, },
                     { X = -0.125, Y = 0, },
                     { X = 0, Y = 0, },
                     { X = 0.125, Y = 0, },
                     { X = 0.25, Y = 0, },
                     { X = 0.375, Y = 0, },
                     { X = 0.5, Y = 0, R_CX = 0, },
                     { X = -0.5, Y = 0.125, L_CX = 0, },
                     { X = -0.375, Y = 0.125, },
                     { X = -0.25, Y = 0.125, },
                     { X = -0.125, Y = 0.125, },
                     { X = 0, Y = 0.125, },
                     { X = 0.125, Y = 0.125, },
                     { X = 0.25, Y = 0.125, },
                     { X = 0.375, Y = 0.125, },
                     { X = 0.5, Y = 0.125, R_CX = 0, },
                     { X = -0.5, Y = 0.25, L_CX = 0, },
                     { X = -0.375, Y = 0.25, },
                     { X = -0.25, Y = 0.25, },
                     { X = -0.125, Y = 0.25, },
                     { X = 0, Y = 0.25, },
                     { X = 0.125, Y = 0.25, },
                     { X = 0.25, Y = 0.25, },
                     { X = 0.375, Y = 0.25, },
                     { X = 0.5, Y = 0.25, R_CX = 0, },
                     { X = -0.5, Y = 0.375, L_CX = 0, },
                     { X = -0.375, Y = 0.375, },
                     { X = -0.25, Y = 0.375, },
                     { X = -0.125, Y = 0.375, },
                     { X = 0, Y = 0.375, },
                     { X = 0.125, Y = 0.375, },
                     { X = 0.25, Y = 0.375, },
                     { X = 0.375, Y = 0.375, },
                     { X = 0.5, Y = 0.375, R_CX = 0, },
                     { X = -0.5, Y = 0.5, L_CX = 0, B_CY = 0, },
                     { X = -0.375, Y = 0.5, B_CY = 0, },
                     { X = -0.25, Y = 0.5, B_CY = 0, },
                     { X = -0.125, Y = 0.5, B_CY = 0, },
                     { X = 0, Y = 0.5, B_CY = 0, },
                     { X = 0.125, Y = 0.5, B_CY = 0, },
                     { X = 0.25, Y = 0.5, B_CY = 0, },
                     { X = 0.375, Y = 0.5, B_CY = 0, },
                     { X = 0.5, Y = 0.5, R_CX = 0, B_CY = 0, }
                  },
                  SavePoints = {
                  }
               },
            },
            DstPolyline = Input {
               Value = Polyline {
               },
            },
            Input = Input {
               SourceOp = "PipeRouter1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 183.333, -49.606 } },
      },
      Crop1 = Crop {
         Inputs = {
            XSize = Input { Value = 480, },
            YSize = Input { Value = 1080, },
            Input = Input {
               SourceOp = "PipeRouter1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 192.667, 52.2121 } },
      },
      Underlay1 = Underlay {
         Inputs = {
            Comments = Input { Value = "GridWarp tool just for visual refernce where to crop the video\n", }
         },
         ViewInfo = UnderlayInfo {
            Pos = { 186.667, -70.2121 },
            Size = { 189.333, 102.97 }
         },
      },
      Switch_Between_Crops = Switch {
         NameSet = true,
         Inputs = {
            NumberOfInputs = Input { Value = 4, },
            Source = Input { Value = 1, },
            Name0 = Input { Value = "Crop1", },
            Input0 = Input {
               SourceOp = "Crop1",
               Source = "Output",
            },
            Name1 = Input { Value = "Crop2", },
            Input1 = Input {
               SourceOp = "Crop2",
               Source = "Output",
            },
            Name2 = Input { Value = "Crop3", },
            Input2 = Input {
               SourceOp = "Crop3",
               Source = "Output",
            },
            Name3 = Input { Value = "Crop4", },
            Input3 = Input {
               SourceOp = "Crop4",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 495.333, 117.667 } },
         Colors = { TileColor = { R = 0.474509803921569, G = 0.658823529411765, B = 0.815686274509804 }, }
      },
      Crop2 = Crop {
         NameSet = true,
         Inputs = {
            XOffset = Input { Value = 480, },
            XSize = Input { Value = 480, },
            YSize = Input { Value = 1080, },
            Input = Input {
               SourceOp = "PipeRouter1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 188.667, 117.667 } },
      },
      MediaIn1 = MediaIn {
         ExtentSet = true,
         CustomData = {
            MediaProps = {
               MEDIA_AUDIO_TRACKS_DESC = {
                  {
                     MEDIA_AUDIO_BIT_DEPTH = 32,
                     MEDIA_AUDIO_FRAME_RATE = 25,
                     MEDIA_AUDIO_NUM_CHANNELS = 2,
                     MEDIA_AUDIO_SAMPLE_RATE = 48000,
                     MEDIA_AUDIO_START_TIME = 0,
                     MEDIA_AUDIO_TRACK_ID = "Timeline Audio",
                     MEDIA_AUDIO_TRACK_NAME = "Timeline Audio [Timeline 139]"
                  }
               },
               MEDIA_AUDIO_TRACKS_NUM = 1,
               MEDIA_FORMAT_TYPE = "QuickTime",
               MEDIA_HAS_AUDIO = true,
               MEDIA_HEIGHT = 1080,
               MEDIA_IS_SOURCE_RES = true,
               MEDIA_MARK_IN = 0,
               MEDIA_MARK_OUT = 283,
               MEDIA_NAME = "pexels-taryn-elliott-5433994 (1080p).mp4",
               MEDIA_NUM_FRAMES = 398,
               MEDIA_NUM_LAYERS = 1,
               MEDIA_PAR = 1,
               MEDIA_PATH = "E:\\Green Screen\\--- Pexels 2\\pexels-taryn-elliott-5433994 (1080p).mp4",
               MEDIA_SRC_FRAME_RATE = 24,
               MEDIA_START_FRAME = 0,
               MEDIA_WIDTH = 1920
            },
         },
         Inputs = {
            GlobalOut = Input { Value = 397, },
            AudioTrack = Input { Value = FuID { "Timeline Audio" }, },
            Layer = Input { Value = "0", },
            ClipTimeEnd = Input { Value = 397, },
            ["Gamut.SLogVersion"] = Input { Value = FuID { "SLog2" }, },
            LeftAudio = Input {
               SourceOp = "Left",
               Source = "Data",
            },
            RightAudio = Input {
               SourceOp = "Right",
               Source = "Data",
            }
         },
         ViewInfo = OperatorInfo { Pos = { -313, 117.667 } },
         Version = 1
      },
      Left = AudioDisplay {
      },
      Right = AudioDisplay {
         CtrlWZoom = false,
      },
      PipeRouter1 = PipeRouter {
         CtrlWZoom = false,
         Inputs = {
            Input = Input {
               SourceOp = "MediaIn1",
               Source = "Output",
            }
         },
         ViewInfo = PipeRouterInfo { Pos = { -164.99, 117.667 } },
      },
      Crop3 = Crop {
         NameSet = true,
         Inputs = {
            XOffset = Input { Value = 960, },
            XSize = Input { Value = 480, },
            YSize = Input { Value = 1080, },
            Input = Input {
               SourceOp = "PipeRouter1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 191.333, 179.485 } },
      },
      MediaOut1 = MediaOut {
         Inputs = {
            Index = Input { Value = "0", },
            Input = Input {
               SourceOp = "Switch_Between_Crops",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 641, 117.667 } },
      },
      Crop4 = Crop {
         NameSet = true,
         Inputs = {
            XOffset = Input { Value = 1440, },
            XSize = Input { Value = 480, },
            YSize = Input { Value = 1080, },
            Input = Input {
               SourceOp = "PipeRouter1",
               Source = "Output",
            }
         },
         ViewInfo = OperatorInfo { Pos = { 191.333, 243.727 } },
      }
   }
}


You should get something like this....

sshot-1030.jpg
sshot-1030.jpg (93.72 KiB) Viewed 482 times


I set up the four crops so and hook them up to a switch node, which can be used to switch between them. As you switch between them you get a crop of same dimensions but of differnt section moving from left to right. As you apply each crop just export that video and repeat for other sections.

sshot-1026.jpg
sshot-1026.jpg (188.7 KiB) Viewed 482 times
Offline
User avatar

KrunoSmithy

  • Posts: 4595
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Real Name: Kruno Stifter

Re: Export 4 split vertical videos from a landscape timeline

PostMon Apr 07, 2025 11:15 am

...you should basically get the four split version of your original video by using switch to cycle between crops you set up.

sshot-1027.jpg
sshot-1027.jpg (182.61 KiB) Viewed 475 times


I also used grid warp tool just to get a sense how split might look on the whole image and where the splits would be for visual reference, but you can get the exact value for crop by using crop tool. This is just for visual reference so you can see whole image and grid how it might be split.

sshot-1028.jpg
sshot-1028.jpg (209.56 KiB) Viewed 475 times


Each crop tool can be used to set your desired dimensions for the canvas size and how much the image inside will be in offset. You can use this and mini calculator in the text fields to set up this for your needs.

sshot-1029.jpg
sshot-1029.jpg (197.92 KiB) Viewed 475 times
Offline

sb4photos

  • Posts: 38
  • Joined: Sun Feb 02, 2020 10:33 pm
  • Real Name: scott Belzner

Re: Export 4 split vertical videos from a landscape timeline

PostMon Apr 07, 2025 11:19 am

wow awesome, thanks
will definitely give that a trial as i continue to dip the toes in fusion :)
much appreciate all the replies
Offline

sb4photos

  • Posts: 38
  • Joined: Sun Feb 02, 2020 10:33 pm
  • Real Name: scott Belzner

Re: Export 4 split vertical videos from a landscape timeline

PostWed Apr 09, 2025 3:49 am

is there any issue if in the code i change each crop to 288px wide?
my time line would be 288x1080
the all 4 is 1152x1080 which is what ill be splitting
appreciate the help.
First test showed the crops as advertised :)
Offline

sb4photos

  • Posts: 38
  • Joined: Sun Feb 02, 2020 10:33 pm
  • Real Name: scott Belzner

Re: Export 4 split vertical videos from a landscape timeline

PostWed Apr 09, 2025 5:18 am

KrunoSmithy wrote:...you should basically get the four split version of your original video by using switch to cycle between crops you set up.

sshot-1027.jpg


I also used grid warp tool just to get a sense how split might look on the whole image and where the splits would be for visual reference, but you can get the exact value for crop by using crop tool. This is just for visual reference so you can see whole image and grid how it might be split.

sshot-1028.jpg


Each crop tool can be used to set your desired dimensions for the canvas size and how much the image inside will be in offset. You can use this and mini calculator in the text fields to set up this for your needs.

sshot-1029.jpg



ALL GOOD!!!
Worked out what i did wrong. simple maths haha
much appreciated
this is perfect!
Offline
User avatar

KrunoSmithy

  • Posts: 4595
  • Joined: Fri Oct 20, 2023 11:01 pm
  • Real Name: Kruno Stifter

Re: Export 4 split vertical videos from a landscape timeline

PostWed Apr 09, 2025 9:18 am

sb4photos wrote:ALL GOOD!!!
Worked out what i did wrong. simple maths haha
much appreciated
this is perfect!


Great. Glad you find what you need. Cheers!

Return to DaVinci Resolve

Who is online

Users browsing this forum: Bing [Bot], Jim Simon, Steve Alexander and 455 guests