Image Sequence can't be load #37481

Closed
opened 2013-11-15 23:09:21 +01:00 by filip mond · 19 comments

System Information
OS X 10.8.5, NVIDIA GeForce GTX 780M 4096 MB
OS X 10.7.5, ATI Radeon HD 5750 1024 MB

Blender Version
Broken: Blender 2.6x
Worked: Blender 2.49a

Short description of error
Image sequence of JPEG or PNG files loaded into Image node is empty.
In compositor property panel appears message "Can't load Image".
I would swear it worked in some 2.6 version, the only issue that I had to solve before was numbering problem for sequences that doesn't start with frame one (0001.png), but now I can't find any working build since 2.49 … some OS issue?

Also I noticed 2.49 version is able to automatic set number of frames, 2.6 never did this, would be great if it could.

Exact steps for others to reproduce the error

  • Open blender (Loaded factory setting to be sure)
  • Enable node compositing
  • Delete Scene node
  • Add Input Image Node
  • Browse for Image Sequence
  • Open selected images
  • All previews (Viewer, Backdrop …) are empty

Screen_Shot_2013-11-15_at_23.07.49_copy.jpg

**System Information** OS X 10.8.5, NVIDIA GeForce GTX 780M 4096 MB OS X 10.7.5, ATI Radeon HD 5750 1024 MB **Blender Version** Broken: Blender 2.6x Worked: Blender 2.49a **Short description of error** Image sequence of JPEG or PNG files loaded into Image node is empty. In compositor property panel appears message "Can't load Image". I would swear it worked in some 2.6 version, the only issue that I had to solve before was numbering problem for sequences that doesn't start with frame one (0001.png), but now I can't find any working build since 2.49 … some OS issue? Also I noticed 2.49 version is able to automatic set number of frames, 2.6 never did this, would be great if it could. **Exact steps for others to reproduce the error** - Open blender (Loaded factory setting to be sure) - Enable node compositing - Delete Scene node - Add Input Image Node - Browse for Image Sequence - Open selected images - All previews (Viewer, Backdrop …) are empty ![Screen_Shot_2013-11-15_at_23.07.49_copy.jpg](https://archive.blender.org/developer/F27833/Screen_Shot_2013-11-15_at_23.07.49_copy.jpg)
Author

Changed status to: 'Open'

Changed status to: 'Open'
Author

Added subscriber: @FilipMond

Added subscriber: @FilipMond

Added subscriber: @derekbarker

Added subscriber: @derekbarker

without offset
undefined

with offset
undefined

make sure your using an actual image sequence

im pretty sure it works by numbers. mine starts on frame 30 which is file 0030 so i have to add the offset to compensate for those 29 frames in front that are not actually there

i don't think loading an image named untitled works very well :P

so if you add a file named from any number between 0001 and 9999 it should actually work
just make sure to offset it if it doesn't start at 0001

without offset ![undefined](https://archive.blender.org/developer/F27958/undefined) ------------- with offset ![undefined](https://archive.blender.org/developer/F27960/undefined) make sure your using an actual image sequence im pretty sure it works by numbers. mine starts on frame 30 which is file 0030 so i have to add the offset to compensate for those 29 frames in front that are not actually there i don't think loading an image named untitled works very well :P so if you add a file named from any number between 0001 and 9999 it should actually work just make sure to offset it if it doesn't start at 0001
Author

Sorry if it wasn't clear from my first post, but offset is not my problem.

My problem is that I can't load any image sequence even they start like 0001.png into image node now.

Name "Untitled" was automatically generated after I pressed "Open Image".
Usually there is generated a name of frame.

p.s.: Setup offset for image sequence that doesn't start from number one, was my underline note. It was something that I needed to search for solution in a past. Sorry if I mix it into this "Load" problem. Anyway it would be great if someone can "fix" it too.

Sorry if it wasn't clear from my first post, but offset is not my problem. My problem is that I can't load any image sequence even they start like 0001.png into image node now. Name "Untitled" was automatically generated after I pressed "Open Image". Usually there is generated a name of frame. p.s.: Setup offset for image sequence that doesn't start from number one, was my underline note. It was something that I needed to search for solution in a past. Sorry if I mix it into this "Load" problem. Anyway it would be great if someone can "fix" it too.
Author

Now I see the problem - path to the image sequence ends with name folder + slash (like ".../Render/"), there is not written a name of a frame (like ".../Render/0001.png) that's cause the problem.

What I usually do is - open folder, press "A" to select all frames and hit Enter.

So when I want to get whole path with image name I have to click on first frame in folder and confirm (or fix the path manually - write image name).

  • Maybe I was confused because I used for a last three months VSE. There I have to select all frames in browser that I want to open as strip.
  • In node compositor I have to click on a first one, right?

Wouldn't it better to have same behavior for loading sequences in Compositor and VSE?

I'm not a beginner and it took me few hours to find solution for this quite simple problem.

Now I see the problem - path to the image sequence ends with name folder + slash (like ".../Render/"), there is not written a name of a frame (like ".../Render/0001.png) that's cause the problem. What I usually do is - open folder, press "A" to select all frames and hit Enter. So when I want to get whole path with image name I have to click on first frame in folder and confirm (or fix the path manually - write image name). - Maybe I was confused because I used for a last three months VSE. There I have to **select all** frames in browser that I want to open as strip. - In node compositor I have to **click** on a first one, right? Wouldn't it better to have same behavior for loading sequences in Compositor and VSE? I'm not a beginner and it took me few hours to find solution for this quite simple problem.
Lukas Tönne self-assigned this 2013-11-20 15:46:06 +01:00
Author

One thing more ...
(since this is a more problem of consistency - different selection style in NODE and VSE).

Build 2.49 is able to open image sequence for node just by pressing "A" (as VSE now)

  • automatically setup number of frames and offset (if there is any).

Is there any reason why 2.6 builds miss this functionality?
Who can find it useful to search for length of image sequence or how much to offset?
(For most of the people who loads sequence that doesn't start with 0001 it seems like "something is broken …".)

Thank you for your opinion.

One thing more ... (since this is a more problem of consistency - different selection style in NODE and VSE). Build 2.49 is able to open image sequence for node just by pressing "A" (as VSE now) + automatically setup number of frames and offset (if there is any). Is there any reason why 2.6 builds miss this functionality? Who can find it useful to search for length of image sequence or how much to offset? (For most of the people who loads sequence that doesn't start with 0001 it seems like "something is broken …".) Thank you for your opinion.
Member

This seems to be a problem with the way the file selection operators work:

  • Selecting files by border dragging returns only the directory name, without a file name appended. This is interpreted correctly as an Image sequence, but reconstructing the full image names fails (instead of *render/Image_0001.png ends up with *render/1.png). Manually appending the first image's name to the path fixes it, then the image sequence functions can replace the frame suffix correctly.
  • Selecting files one-by-one returns the path of the last-selected image. This is interpreted as a "Single Image", but after switching to "Image Sequence" and setting correct frame range this works without having to modify the file path further.

Just initial findings, have to look further into how the file selection operators work.

This seems to be a problem with the way the file selection operators work: * Selecting files by border dragging returns only the directory name, without a file name appended. This is interpreted correctly as an Image sequence, but reconstructing the full image names fails (instead of `*render/Image_0001.png` ends up with `*render/1.png`). Manually appending the first image's name to the path fixes it, then the image sequence functions can replace the frame suffix correctly. * Selecting files one-by-one returns the path of the last-selected image. This is interpreted as a "Single Image", but after switching to "Image Sequence" and setting correct frame range this works without having to modify the file path further. Just initial findings, have to look further into how the file selection operators work.
Member

Added subscriber: @elubie

Added subscriber: @elubie
Member

@elubie I'm not sure how file selection operators work in detail. It looks like you added this code back in 2011 (41c27cd), maybe you could explain a bit?
As far as i understand an operator can define a filepath property, which will be set as the active file by the file space ops. But when using border select (or similar) it does not define an active file, rather just sets the file range in FileSelectParams:

http://developer.blender.org/diffusion/B/browse/master/source/blender/editors/space_file/file_ops.c;f64ae4cbe5a724496624de9e479c04f325613be5$218
(0 is FILE_SEL_REMOVE, should either use that or make FILE_SEL_NONE==-1 ?)

So how how can the IMAGE_OT_open operator get the correct file list instead of just the directory? Any precedence for similar cases?

@elubie I'm not sure how file selection operators work in detail. It looks like you added this code back in 2011 (41c27cd), maybe you could explain a bit? As far as i understand an operator can define a filepath property, which will be set as the active file by the file space ops. But when using border select (or similar) it does not define an active file, rather just sets the file range in FileSelectParams: http://developer.blender.org/diffusion/B/browse/master/source/blender/editors/space_file/file_ops.c;f64ae4cbe5a724496624de9e479c04f325613be5$218 (0 is FILE_SEL_REMOVE, should either use that or make FILE_SEL_NONE==-1 ?) So how how can the IMAGE_OT_open operator get the correct file list instead of just the directory? Any precedence for similar cases?
Lukas Tönne was unassigned by Andrea Weikert 2013-12-02 20:20:58 +01:00
Andrea Weikert self-assigned this 2013-12-02 20:20:58 +01:00
Member

Added subscriber: @LukasTonne

Added subscriber: @LukasTonne
Member

@LukasTonne with multiple files selected, the filebrowser should return the complete list. This could either be issue in the operator itself. In any case I'll take a look

@LukasTonne with multiple files selected, the filebrowser should return the complete list. This could either be issue in the operator itself. In any case I'll take a look
Member

There are two parts to this.

The first one is how you can make it work: Just load the first image of the sequence and then switch the image source to 'Image Sequence' and set the Frames to how many frames you want (have in the image sequence). this is a bit confusing, but is how I remember it working in 2.5/2.6

Now for the explanation:
There are a few properties that can be set in the operator (here the IMAGE_OT_open) that is passed to the filebrowser and executed when hitting the 'Open Image' button. See WM_operator_properties_filesel, especially the WM_FILESEL_FILES property. This tells the filebrowser to fill the 'files' list rather than just returning a single filepath. This was designed so each operator can tell the filebrowser what it wants. If you compare this to the SEQUENCER_OT_image_strip_add, you can see that there the operator wants the directory (WM_FILESEL_DIRECTORY) and files separately (WM_FILESEL_FILES)

What I have seen there, is that this operator only checks the filepath property, where in the case of multiple files, the 'files' property of the operator needs to be added and the operator also needs to evaluate this. Not sure if the current open image operator should be extended or if we need a different operator, since the image open operator is used in several places where it doesn't make sense to accept several images.

I'll try to provide a fix in the next days.

There are two parts to this. The first one is how you can make it work: Just load the first image of the sequence and then switch the image source to 'Image Sequence' and set the Frames to how many frames you want (have in the image sequence). this is a bit confusing, but is how I remember it working in 2.5/2.6 Now for the explanation: There are a few properties that can be set in the operator (here the IMAGE_OT_open) that is passed to the filebrowser and executed when hitting the 'Open Image' button. See WM_operator_properties_filesel, especially the WM_FILESEL_FILES property. This tells the filebrowser to fill the 'files' list rather than just returning a single filepath. This was designed so each operator can tell the filebrowser what it wants. If you compare this to the SEQUENCER_OT_image_strip_add, you can see that there the operator wants the directory (WM_FILESEL_DIRECTORY) and files separately (WM_FILESEL_FILES) What I have seen there, is that this operator only checks the filepath property, where in the case of multiple files, the 'files' property of the operator needs to be added and the operator also needs to evaluate this. Not sure if the current open image operator should be extended or if we need a different operator, since the image open operator is used in several places where it doesn't make sense to accept several images. I'll try to provide a fix in the next days.
Member

Cool, thanks.

I suppose the image file open operator should support file lists too. Every image can be a sequence afaik, so it makes sense to support this.

Perhaps the border select (and similar ops) can be disabled if file list selection is not supported by the operator invoking the file editor? Would avoid some confusion.

Cool, thanks. I suppose the image file open operator should support file lists too. Every image can be a sequence afaik, so it makes sense to support this. Perhaps the border select (and similar ops) can be disabled if file list selection is not supported by the operator invoking the file editor? Would avoid some confusion.
senornz commented 2013-12-07 01:49:10 +01:00 (Migrated from localhost:3001)

Added subscriber: @senornz

Added subscriber: @senornz
senornz commented 2013-12-07 01:49:10 +01:00 (Migrated from localhost:3001)

I'm also getting the error when loading files with long number sequence in the name.

DaVincie Resolve outputs names with 8 digits. Eg. 00090000.tif

If I load the first frame it displays, but when I change to image sequence it disappears. My solution is just to use Bulk Rename to remove the first 4 characters of each name, and it all works OK.

I'm also getting the error when loading files with long number sequence in the name. DaVincie Resolve outputs names with 8 digits. Eg. 00090000.tif If I load the first frame it displays, but when I change to image sequence it disappears. My solution is just to use Bulk Rename to remove the first 4 characters of each name, and it all works OK.
Member

Submitted a patch that fixes this to Differential D209 for review.

Submitted a patch that fixes this to Differential [D209](https://archive.blender.org/developer/D209) for review.
Member

Changed status from 'Open' to: 'Resolved'

Changed status from 'Open' to: 'Resolved'
Member

Fixed by my commit:

Commit: 04f81c8225
Author: Andrea Weikert
Date: Mon Jan 20 18:54:03 2014 +0100
https://developer.blender.org/rB04f81c8225f28ba9722cc06dc7f2d8a4d72a3fa3

Fixed by my commit: Commit: 04f81c8225f28ba9722cc06dc7f2d8a4d72a3fa3 Author: Andrea Weikert Date: Mon Jan 20 18:54:03 2014 +0100 https://developer.blender.org/rB04f81c8225f28ba9722cc06dc7f2d8a4d72a3fa3
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
5 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#37481
No description provided.