Extension of movie excerpt in a texture

Hi, (Blender 2.67b on Win7/64)

let’s assume…: I have a texture of type image. The image is a movie (AVI JPG). The settings are: Frames=133, Start=2720, Offset=133, Cyclic=Off. Assuming zero-based frame numbers, this means that

  • frames 133 to 265 are picked from the source movie,
  • the frames 2720 to 2852 of the blender project are covered
  • for frames < 2720, frame 133 of the source movie is picked
  • for frames > 2852, frame 265 of the source movie is picked.

Am I wrong?

My problem is: If the current frame is 2719 (or below), frame 132 of the source movie is picked. I expect to get frame 133. At the other end it works as expected: If the current frame is 2853, frame 265 of the source movie is picked.

I’ve verified the numbers. They are correct. Am I not ready for Blender again, or is this a little flaw?

In short, if I set “Offset” to 133, never a frame before should be used, right?

Isn’t frame zero a frame too? Offset being amount of frames - 0 to 132 is 133?

Yes, frame zero is a frame too. But no matter whether frames are 0- or 1-based, if I say I want to start at frame 133, I never want to get frame 132. In any case, if I set “Start” to let’s say 1000, the same frame should be used for frame 999 as for frame 1000 (as for 998, 997, …)

I’ve tried to upload a simple blend file for demonstration, but packing isn’t supported yet for movies and image sequences. Despite I uploaded it now, and you’d have to set the path to the image sequence yourself if you want to try.

What confuses me now: If “Start” and “Offset” of the image sequence is set to zero, and the start of the scene is also zero, and the current frame is also zero, the 2nd frame of the image sequence is taken, not the 1st one.

Test83.zip (75.7 KB)

EDIT: There’s not only one problem with this feature. I won’t elaborate on this further now. Just enable “cyclic” and step through the frames. One time he will say “can’t load image, frame 10”. This message shouldn’t be possible with cyclic enabled. Anyway, after creating a test project, I’ll file a bug report.
Sorry for bothering.

It would be great to get a confirmation before filing a bug report. After a couple of hours of testing, I’m now really sure there are two bugs:

  • Using an image sequence (= single files) the frame is off by one.
  • Using a movie file, if the current frame is below the offset value, the frame at offset should be used. Currently the frame at offset-1 is used. EDIT: Consequently, if you select a range of 5 frames, you actually get 6.

What i see on r58162 is this:
http://www.pasteall.org/pic/show.php?id=55431
As tooltip at Start says “assuming first picture has #1”; since you decided on “0” as a start number, Offset needs to be -1 frame, at which animation uses all 10 images. Also Cyclic then works. I can not confirm it having any bug.

In frame sequence which is numbered from 0 to 132, there are 133 frames. That is why you get frame numbered ‘132’.
Now: “But no matter whether frames are 0- or 1-based, if I say I want to start at frame 133, I never want to get frame 132.” - frame number (like frame No7) or frame count ( like 133, which would be No133 IF the count starts from 1, not 0)?

First, thanks for answering because this is really driving me…

The tooltip “…#1” is confusing. Actually it’s the frame number of the scene at which the selected part of the movie has to start. The Offset -1 does not make sense as the range is from 0 to one less than the count of frames within the movie. If you have 10 frames, a reasonable Offset is 0 to 9.

In frame sequence which is numbered from 0 to 132, there are 133 frames. That is why you get frame numbered ‘132’.

Yes, within the range 0 to 132, I can get frame 132, but…

Now: “But no matter whether frames are 0- or 1-based, if I say I want to start at frame 133, I never want to get frame 132.” - frame number (like frame No7) or frame count ( like 133, which would be No133 IF the count starts from 1, not 0)?

…if I select frames 133 to 265, I can never get frame 132 as the selection starts at 133.

Actually it’s pretty simple (or should be): The values “Offset” and “Frames” select the part of the movie, and “Start” specifies where to place the start of the movie into the scene.

In the meantime I’ve created the follwing illustration (you may have to maximize it for better readability). If this doesn’t help for explain, I don’t know what else to do. Thanks for your patience!


EDIT: I’ve used letters as the frame content to avoid further 0- or 1-based confusion during the discussion when referring to certain frames.

Let me think; so you wouldn’t agree with this paintover? Just theoretically; i am not into what else happens yet.


Thx eppo, but I’m not sure what this shows me. How Blender behaves in fact is also shown in the chart. It does use the frame labeled “8” as the start, but that’s not the problem. The initial problem is demonstrated in the 3rd row (labeled “actual result if source=movie”): Instead of using the “F”-Frame for extending to the left, Blender uses the “E”-frame. That’s the topic of this thread. It works well with a movie file and Cyclic=On.
The other problem using an image sequence is an additional problem I stumbled across while investigating this issue, so let’s just ignore it and focus on using a movie file.

You have drawn a line from UI Start:8 to frame in a row with that question mark labeled “8”. But this is 9th frame in this sequence.
Green is where frames FGHIJ from the source should fall into imho.
Let’s start to sort things out from top to bottom as they appear in your image. This one first.

If that’s the result you expect, Blender does not work as you expect. This would mean you consider Blender’s actual behavior a bug whereas I consider it as expected.

I’m confused even more. Previous example was you writing “expected”; i am convinced that is incorrect - you draw line from Start:8 to frame with “8” underneath which is 9th frame in the sequence. I expect it being like this (not even looking what blender does; just reading tooltips and trying to understand what should happen - what can be expected):


Hi eppo,
I really understand what you mean. :slight_smile: I can only attach screenshots to show you the actual results.
6 to 13.zip (927 KB)

Or you can try yourself:
Test84_0002.zip (76.8 KB)

Now, i did change Start Frame being “1” instead of “0” (in accordance what’s mentioned in tooltip). This is what it renders from Test84:


Settings:

You get the same result as I got.
The “Start Frame” of the scene has no influence. If it had an influence, we couldn’t render only parts of the scene without shifting the movie content.

You also see that 6 different frames are rendered (E, F, G, H, I, J) whereas I selected only 5 as specified in the “Frames” setting. That’s the bug I see and the reason for this thread. I expect the “F” in 0007.png and below.

Let me explain what i see:

  1. Resulting frame sequence starts from frame No1 (set in Frame Range)
  2. I intend to insert another sequence starting from frame No8 - 0008.png
  3. I want offset first sequence by 5 frames - i expect to get frames No6 to No10

First line in tools says “(5) Frames 5”; if we had sequence “ABCDEFGHIJ” (5) translates to frame No5 which happens to be one with “E”.
So it repeats that “E” 7 times [there is no second sequence; confused here](frames 0001.png to 0007.png) then inserts 5 frames “FGHIJ” and since there is no repetition set, continues with last “J”.
I really don’t think i’m pulling this by hair.

If i had FrameRange start from “0” all this shifts one frame back. But i hope “frame one” has more meaning than “frame 0”, taking in account that zero equals “nothing” ;).

Edit: IIRC you can shift sequence on timeline and get negative frame numbers too, so FrameRange might have something to do with this and “frame 0” has some meaning too.

First line in tools says “(5) Frames 5”; if we had sequence “ABCDEFGHIJ” (5) translates to frame No5 which happens to be one with “E”.
Yes, but it should say “(6)” because Offset=5, and the frame with Offset 5 is the 6th frame, which is “F”. So it should repeat the “F”, not the “E”. It should never use the “E” because I told him to start at Offset 5 which is “F”. That’s the problem I’m talking about. :slight_smile:

So you do not accept that repeating is frame before Offset count (offset-1); you want already start with one falling as a first after offset frames ?
Shall we dig into source to see what that (5) really is? Wiki doesn’t say much or i was searching lazily. But i start to feel some fishiness right now. I just did some different Start/Offset rendering and was switching to render folder and back to blender - this first number does show last winter’s temperature; every time some random number. It’s showing what?
Dizziness levels rise here.

you want already start with one falling as a first after offset frames ?
I’m sorry, I’m not quite sure what this part means.

Shall we dig into source to see what that (5) really is?
Why? To me it is clear. But if you want… :wink: (I sometimes had to to see what Blender is actually doing as the UI often leaves me clueless…)

But to finish this thread, there is a workaround:
Set Offset and Start (the texture->image settings) one higher than intended.