VSE: Separate images does not handle resolution correctly #96246

Open
opened 2022-03-08 20:57:11 +01:00 by Wilbur Jaywright · 21 comments

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

  • Add image sequence to VSE where each image has different resolution
  • Separate images to discrete strips

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

**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** - Add image sequence to VSE where each image has different resolution - Separate images to discrete strips Check resolution of separated strips - they are all same, but they should not be.

Added subscriber: @zargul

Added subscriber: @zargul
Wilbur Jaywright changed title 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 2022-03-08 20:57:33 +01:00
Member

Added subscriber: @PratikPB2123

Added subscriber: @PratikPB2123
Member

Changed status from 'Needs Triage' to: 'Needs User Info'

Changed status from 'Needs Triage' to: 'Needs User Info'
Member

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?: {nav Edit > Preferences > Save & Load (3 horizontal lines) > Load Factory preferences}
image.png
Also provide example file to reproduce the issue
Blender [C__Users_Pratik_Downloads_T96246.blend] 2022-03-09 09-08-22.mp4

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?: {nav Edit > Preferences > Save & Load (3 horizontal lines) > Load Factory preferences} ![image.png](https://archive.blender.org/developer/F12717357/image.png) Also provide example file to reproduce the issue [Blender [C__Users_Pratik_Downloads_T96246.blend] 2022-03-09 09-08-22.mp4](https://archive.blender.org/developer/F12911373/Blender__C__Users_Pratik_Downloads_T96246.blend__2022-03-09_09-08-22.mp4)

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.

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.

img scale glitch.zip

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.

[img scale glitch.zip](https://archive.blender.org/developer/F12914713/img_scale_glitch.zip) 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.
Member

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/

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/

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

  • Add -> Image/Sequence, select the images provided.
  • Press Y to separate images. I entered a length of 84 frames.
  • I adjusted the length of the frame range to include all images, in this case 8400 frames.
  • Image -> Apply -> Scale to fit.
    Move the time cursor around. Some images will go outside the preview frame.

I will test the latest build.

I did reset factory preferences. Note that this is Blender from the Microsoft Store. Here’s the steps from a default Video Editing file: - Add -> Image/Sequence, select the images provided. - Press Y to separate images. I entered a length of 84 frames. - I adjusted the length of the frame range to include all images, in this case 8400 frames. - Image -> Apply -> Scale to fit. Move the time cursor around. Some images will go outside the preview frame. I will test the latest build.

Added subscriber: @tintwotin

Added subscriber: @tintwotin

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.

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.
Member

Changed status from 'Needs User Info' to: 'Needs Developer To Reproduce'

Changed status from 'Needs User Info' to: 'Needs Developer To Reproduce'
Member

Added subscriber: @iss

Added subscriber: @iss
Member

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

@iss, is this expected?

> IIRC, the scale ratio is calculated on the first strip in the strip selection @iss, is this expected?

In #96246#1320038, @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.

> In #96246#1320038, @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.

Changed status from 'Needs Developer To Reproduce' to: 'Needs User Info'

Changed status from 'Needs Developer To Reproduce' to: 'Needs User Info'

@zargul 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

@zargul 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

Changed status from 'Needs User Info' to: 'Confirmed'

Changed status from 'Needs User Info' to: 'Confirmed'

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.

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 changed title from VSE: Scale to fit operator not working on any but currently previewed strip to VSE: Separate images does not handle resolution correctly 2022-03-18 23:11:08 +01:00

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?

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?

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.

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.

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):
image.png
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.

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): ![image.png](https://archive.blender.org/developer/F12934112/image.png) 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.
Philipp Oeser removed the
Interest
VFX & Video
label 2023-02-10 09:31:33 +01:00
Sign in to join this conversation.
No Label
Interest
Alembic
Interest
Animation & Rigging
Interest
Asset Browser
Interest
Asset Browser Project Overview
Interest
Audio
Interest
Automated Testing
Interest
Blender Asset Bundle
Interest
BlendFile
Interest
Collada
Interest
Compatibility
Interest
Compositing
Interest
Core
Interest
Cycles
Interest
Dependency Graph
Interest
Development Management
Interest
EEVEE
Interest
EEVEE & Viewport
Interest
Freestyle
Interest
Geometry Nodes
Interest
Grease Pencil
Interest
ID Management
Interest
Images & Movies
Interest
Import Export
Interest
Line Art
Interest
Masking
Interest
Metal
Interest
Modeling
Interest
Modifiers
Interest
Motion Tracking
Interest
Nodes & Physics
Interest
OpenGL
Interest
Overlay
Interest
Overrides
Interest
Performance
Interest
Physics
Interest
Pipeline, Assets & IO
Interest
Platforms, Builds & Tests
Interest
Python API
Interest
Render & Cycles
Interest
Render Pipeline
Interest
Sculpt, Paint & Texture
Interest
Text Editor
Interest
Translations
Interest
Triaging
Interest
Undo
Interest
USD
Interest
User Interface
Interest
UV Editing
Interest
VFX & Video
Interest
Video Sequencer
Interest
Virtual Reality
Interest
Vulkan
Interest
Wayland
Interest
Workbench
Interest: X11
Legacy
Blender 2.8 Project
Legacy
Milestone 1: Basic, Local Asset Browser
Legacy
OpenGL Error
Meta
Good First Issue
Meta
Papercut
Meta
Retrospective
Meta
Security
Module
Animation & Rigging
Module
Core
Module
Development Management
Module
EEVEE & Viewport
Module
Grease Pencil
Module
Modeling
Module
Nodes & Physics
Module
Pipeline, Assets & IO
Module
Platforms, Builds & Tests
Module
Python API
Module
Render & Cycles
Module
Sculpt, Paint & Texture
Module
Triaging
Module
User Interface
Module
VFX & Video
Platform
FreeBSD
Platform
Linux
Platform
macOS
Platform
Windows
Priority
High
Priority
Low
Priority
Normal
Priority
Unbreak Now!
Status
Archived
Status
Confirmed
Status
Duplicate
Status
Needs Info from Developers
Status
Needs Information from User
Status
Needs Triage
Status
Resolved
Type
Bug
Type
Design
Type
Known Issue
Type
Patch
Type
Report
Type
To Do
No Milestone
No project
No Assignees
4 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: blender/blender#96246
No description provided.