Video scaling property

Hello
My original video is 640x360, quicktime format with .bin extension
My output size is 786x442 .mp4
I applied scaling to be 1.228 and fit to “none”.
If I understand correctly 640 x 1.221 = 781.44, and 360 x 1.221 = 439.56
I am expecting for rendered result to be close to full screen, but it’s not.
Can you help me with the issue, what am I missing?

{
                                "start": 0,
                                "length": 8.471832275390625,
                                "fit": "none",
                                "scale": 1.228124976158142,
                                "asset": {
                                    "volume": 1,
                                    "type": "video",
                                    "trim": 12.970009803771973,
                                    "src": ### ,
                                    "crop": {
                                        "right": 0,
                                        "top": 0,
                                        "left": 0,
                                        "bottom": 0
                                    }
                                },
                                "offset": {
                                    "x": 0,
                                    "y": 0
                                }
                            }

Edit: Render ID = 43cbc367-8609-4cc2-9081-060b3b50c074

Before looking in to the scaling issue, is your goal to make the source video scale to the same size as the output video?

If that is the case then you don’t need to do anything because the default fit is crop which will make sure the video fits to the edges without adjusting the aspect ratio.

If you want the source video to be slightly smaller than the output video you can omit the fit (it will default to crop) and just set the scale to 0.995 and it will scale it smaller.

If you really need to scale to an exact size we can look in to that for you but using the built in fit functionality, might solve your issue for you.

Yes, I need it to be able to size it to desired exact size not only full screen.
For example if I got same 640x360 video, in same output 786x442, and I want for that video to be 700x394 in final result, my assumption is to set scale = 1.09375

Working with scales lower than 1 gives desired results in final output. Only when I am resizing videos with scales greater than 1, it seems like in final output that video doesn’t scale to sizes greater than original size.

Scaling images works as intended. If I put scale property in image clip greater than 1, it scales image greater than original size. Also it works with scales lower than 1. Only videos are the issue.

Thanks.

Examples:
Render ID: fa860ead-97a3-4eb1-a974-b99be806cd3a
Here I got video scaled a bit down, and 3 images - with original size (number 6), scaled down (number 8), and scaled up (number 9).
And I got desired result like in screenshot of client side:

Screenshot of the rendered video:

Next Render ID: 4e95a971-2891-4d34-8499-937d32d82154
I will stretch the video greater than original size (with keeping aspect ratio) which would calculate scale accordingly but it doesn’t seems to apply it like on screenshot.

https://i.imgur.com/nhk8rQ7.png

Screenshot of the rendered video:

https://i.imgur.com/UnpXhVC.png

Sorry, I had to put link in code quotes because of two links restrictions for new users

Thanks for the answers.

There appears to be a bug where video can’t be scaled > 1 when the fit property is set to none. We’ve added it as a bug and hope to add it to the next sprint.

What you can try to do until we fix it is to set the fit property to contain. What this does is fill it to the entire viewport but it keeps the aspect ratio. This will lead to black bars if the aspect ratio isn’t the same as the video unfortunately.

Here is potential workaround which I came to in the meantime.

if (clip.scale > 1)
{
  clip.fit = "contain";
  var newScale = desired_width / output.width;
  clip.scale = newScale;
}
  
                                
                                
1 Like