Maniphest T96246

VSE: Separate images does not handle resolution correctly
Confirmed, NormalKNOWN ISSUE

Assigned To
None
Authored By
Wilbur Jaywright (zargulthewizard)
Mar 8 2022, 8:57 PM
Tags
  • BF Blender
  • Video Sequencer
  • VFX & Video
Subscribers
Peter Fog (tintwotin)
Pratik Borhade (PratikPB2123)
Richard Antalik (ISS)
Wilbur Jaywright (zargulthewizard)

Description

System Information
Operating system: Windows 11 Home 64 bit
Graphics card: NVidia GeForce 2060 RTX SUPER

Blender Version
Broken: 3.0.1

Exact steps for others to reproduce the error

  1. Add image sequence to VSE where each image has different resolution
  2. Separate images to discrete strips

Check resolution of separated strips - they are all same, but they should not be.

Event Timeline

Wilbur Jaywright (zargulthewizard) renamed this task from VSE: Scale to fit operator not working on any but active strip to VSE: Scale to fit operator not working on any but currently previewed strip.Mar 8 2022, 8:57 PM
Wilbur Jaywright (zargulthewizard) created this task.
Pratik Borhade (PratikPB2123) added a subscriber: Pratik Borhade (PratikPB2123).Mar 9 2022, 4:20 AM
Pratik Borhade (PratikPB2123) changed the task status from Needs Triage to Needs Information from User.Mar 9 2022, 4:41 AM

Hi, thanks for the report.
Scale to fit operation works here for all selected images (on master and 3.0.1)
Can you check with factory preferences?: EditPreferencesSave & Load (3 horizontal lines)Load Factory preferences


Also provide example file to reproduce the issue

Wilbur Jaywright (zargulthewizard) added a comment.EditedMar 9 2022, 8:11 PM

Will do. Might take me a while to generate some test data. Wasn’t able to play your video clip, though that may just be a momentary glitch.

Edit: Video played later. Hmm, okay.

Wilbur Jaywright (zargulthewizard) added a comment.EditedMar 9 2022, 8:25 PM

Interestingly, some images seemed to scale correctly, but others did not. These were all generated with Python PIL. I've marked where the time cursor was when I ran "Scale to fit," and images that remain the wrong scale. I hope this helps.

Note: I added these images by forst adding them all as a sequence, then separating them with Y.

Pratik Borhade (PratikPB2123) added a comment.Mar 10 2022, 3:31 AM

Hi, still I'm unable to reproduce. Did you try with factory prefs?

Can you confirm the steps shown in the video are correct? (Doing same in your file)

Also, check again with latest 3.1 release- https://www.blender.org/download/

Wilbur Jaywright (zargulthewizard) added a comment.EditedMar 10 2022, 4:26 AM

I did reset factory preferences. Note that this is Blender from the Microsoft Store. Here’s the steps from a default Video Editing file:

  1. Add -> Image/Sequence, select the images provided.
  2. Press Y to separate images. I entered a length of 84 frames.
  3. I adjusted the length of the frame range to include all images, in this case 8400 frames.
  4. Image -> Apply -> Scale to fit.

Move the time cursor around. Some images will go outside the preview frame.

I will test the latest build.

Peter Fog (tintwotin) added a subscriber: Peter Fog (tintwotin).EditedMar 10 2022, 11:44 AM

IIRC, the scale ratio is calculated on the first strip in the strip selection and indiscriminately applied to the following strips no matter if their ratio differs.

Btw. the rapport needs Video Sequencer and VFX & Video tags.

Pratik Borhade (PratikPB2123) changed the task status from Needs Information from User to Needs Information from Developers.Mar 18 2022, 4:38 AM
Pratik Borhade (PratikPB2123) added a project: Video Sequencer.
Pratik Borhade (PratikPB2123) added a subscriber: Richard Antalik (ISS).

IIRC, the scale ratio is calculated on the first strip in the strip selection

@Richard Antalik (ISS), is this expected?

Wilbur Jaywright (zargulthewizard) added a comment.Mar 18 2022, 4:48 AM
In T96246#1320038, @Peter Fog (tintwotin) wrote:

IIRC, the scale ratio is calculated on the first strip in the strip selection and indiscriminately applied to the following strips no matter if their ratio differs.

This is not the case. They stay the same size sometimes.

Richard Antalik (ISS) changed the task status from Needs Information from Developers to Needs Information from User.Mar 18 2022, 10:57 PM

@Wilbur Jaywright (zargulthewizard) Can you clarify where you click on Image > Scale to Fit? Doing this in preview, does run operator on visible selected strips. In timeline this runs on all selected strips

Richard Antalik (ISS) changed the task status from Needs Information from User to Confirmed.EditedMar 18 2022, 11:08 PM
Richard Antalik (ISS) added a project: VFX & Video.
Richard Antalik (ISS) changed the subtype of this task from "Report" to "Known Issue".

Actually nevermind, I realized, that problem could be in separate images steps and indeed, it does copy resolution of first image to all separated strips.

This is by design, because if this was 10 minute render, it would have to read 14000 images, which would take some time.

I think that this deserves a better solution. There have been requests to use same system for image sequences as with other editors, but there are some challenges to be resolved. This would mean, that VSE would be able to distinguish between sequences and batch of discrete images. However if you want to have sequence with variable resolution, I am affraid VSE can't support this scenario very well.

So will confirm this as known issue for now. If I did not describe workflow that covers your case, you can provide more info so I can refine this a bit more.

I checked if it would be better to set resolution of split strips to 0, so scale to fit would skip these images, but during rendering each rendered image will be corrected. So I won't do that, because this may cause problems for users that use sequences with uniform resolution. But current workaround is to scrub over images, to ensure data is correct, then apply scale.

Richard Antalik (ISS) renamed this task from VSE: Scale to fit operator not working on any but currently previewed strip to VSE: Separate images does not handle resolution correctly.Mar 18 2022, 11:11 PM
Richard Antalik (ISS) updated the task description.
Wilbur Jaywright (zargulthewizard) added a comment.Mar 18 2022, 11:14 PM

I am surprised that VSC cannot immediately tell whether an image strip is one image or sequence of several images. Would I be a pioneer or a hotheaded disbeliever if I went to try and make an operator that did the job myself?

Richard Antalik (ISS) added a comment.Mar 18 2022, 11:32 PM

Just FIY, I added edit with workaround to comment above.

Current operator could be changed, either:

  • so there is checkbox allowing to add each image as strip
  • or parse filenames to see whether these follow rules for sequences, which is obviously more complicated.

In any case, if you want to have a go at this, feel free. I quickly checked what would take to do this some time ago and in short, image sequence filename parsing is in different module, so this code would have to be made public so VSE can use it. Then it constructs filename on demand and then tries to load it - VSE works in reverse, which is slight problem (need to parse filenames first and then handle exceptions). Or if only single image would be used as basis for sequence (as other editors do it), then you would have to iterate over all files anyway to determine length.

So it's not impossible or even super hard to do second option, but there is no great solution. It would be decision between ugh and meh, which is never great to review.

Peter Fog (tintwotin) added a comment.EditedMar 19 2022, 7:17 AM

The Image Editor already has a Detect Image Sequences function, so it would be consistent to add one to the VSE import options too(downside is that the VSE import options are unavailable in the workspace embedded File Browser):


https://developer.blender.org/diffusion/B/browse/master/source/blender/editors/space_image/image_sequence.c$36

NB. the selected files are the posters of the Blender movies and not an image sequence - they will always be imported as a sequence in the VSE - which they aren't.

Richard Antalik (ISS) moved this task from Backlog to known issues on the Video Sequencer board.Jun 13 2022, 10:28 PM