Corrupted Image Sequences while Rendering and Caching

I’ve been experiencing this problem for a while on my work computer. I suspect that this problem is very system specific because I’ve never had it happen on any other computer, and no matter what version of Blender I use on my work computer the problem persists.

I was hoping someone could point me in the direction to fix this, because the only thing I can think of is to reinstall the OS which I don’t have time to do at work.

Anyways, the problem is, Blender, on my work computer, corrupts frames. Not every frame, but often enough for it to be royal pain. It happens when it renders. Corrupts all codecs. And here’s what blows my mind, it corrupts frames in an image sequence when it caches them in the movie clip editor! It corrupts files when it’s reading them! Crazy, right?

I would be so thankful if someone could help me fix this. You wouldn’t imagine the work arounds to get by with this at work.

Thanks,
~Chris

P.S. I’ve posted thread on Blender Cow but no one responded. Problem is not as concise as this thread, because I was still trying to figure out what was going on. http://forums.creativecow.net/thread/287/1191#1203

Can you post an example of the “corruption”? There’s no way Blender could “corrupt all codecs,” so maybe I don’t understand what you’re saying with that comment. Do you mean that the corruption happens regardless of the codec being used?

For a file to be “corrupted” when being read means that it would have to also be overwritten in some fashion, and that just doesn’t happen when loading an image sequence into Blender’s VSE. Do the “corrupted” frames consequently show the same problem when viewed with another app? If not then the files themselves are not being corrupted, just not displayed properly in the VSE.

I have experienced serious issues with the display of images in Blender (and other apps) due to the ancient and obsolete nature of my graphics card. It can actually crash Blender & my entire system, but in no cases are the files being displayed altered or corrupted in any way, they just look like crap on screen due to the graphics card bollixing out on me. Maybe something like this is occurring with your work comp?

There is a screen shot at the above creative cow link.

Yes, I mean, regardless of codec, corruption happens.

It is an actual file corruption surprising as it sounds, I know.

I have to deal with After Effects crashing non stop due to corrupted frames, and when I cache out image sequences in the movie clip editor in Blender I need to make sure that I have duplicated the sequence because there’s a 50 percent chance it’s going to corrupt frames. May I add from a sequence I’m certain has no corrupt frames.

Crazy I know. Thanks for the help.

First, sorry if I’m not grokking this all completely, I haven’t yet done any tracking in Blender so I’m not all that familiar with specific processes, just general principles. But as I understand it you’re using either video footage loaded as a movie , or an image sequence made in Blender from just such a movie loaded in the VSE. In either case, this could be the source of the “corruption.” The VSE does not play universally well with all video/movie formats and codecs; some source video encodings have been reported creating issues not unlike what you’ve experienced, as well as other problems. Your idea to write a PNG sequence of your original video material from another app like AE is a good “control” against the same steps in Blender. If both apps write corrupted frames, then there’s a problem with the original material, outside Blender’s scope. If AE always writes clean, then it’s a Blender problem and perhaps worthy of a bug report.

Also to keep in mind is that the motion tracking module is still very new and may have undiscovered bugs that only widespread use on various OS configurations and in various workflows will reveal. If you can consistently repeat the problem with various original material sources, this could also be grist for the bug-crushing mill.

Blender corrupts the frame as it caches them. As it renders them. It will even corrupt proxies. The reason you provided doesn’t address the scope of my problem.

I know it sounds bogus, but it’s been going on for about a year now and I’ve just had to get used to it.

I have workflows to check for bad frames in my renders. I have workflows to cache things in Blender even though I know it will corrupt them. I just wish I could rid all these headaches and get back some time I could spend on other things.

I would report a bug but I do feel like this problem is specific to my system. I don’t have this problem on any other system.

I was just hoping someone with a greater knowledge of the architecture of Blender would be able to say well if your system is doing that you have a bad library blah blah that needs to be replaced, because otherwise I just have to deal with these additional work arounds until I can reinstall OS and all applications.

You’ve described the corruption in various kinds of files written from Blender (cache, render, proxy), but not really in terns of original source material. Does it do this regardless of the kind of source material being referenced? Will a PNG image sequence rendered from Blender Internal (not written out from the VSE using a movie source) and then used as a test source also result in corrupted frames in these kinds of instances? I rarely use “camera video” but if so usually write a PNG sequence from a utility like Virtual Dub (PC) for use in the VSE because in my experience VSE performance with encoded movie source material is spotty.

I tend to doubt that it’s your OS unless you’re also having problems with apps that use similar material, or access common (and possibly suspect) libs.

I just cached out an image sequence I rendered from Blender and it’s not breaking the frames.

I feel like it has in the past, but maybe I’m wrong.

So the solution is to create the image sequence, from footage, in something other then Blender.

I will start doing this and see if it helps.

I still feel like there is something wrong though. I have taken the same image sequence to different computers and they will not get corrupted while caching, but it happens most of the time on my computer.

Also how often should you have a corrupted frame in your renders? Is 1 or 2 bad frames per 150 frames rendered in your sequence normal for Blender? I don’t feel like the other computers I use Blender on are as unstable.

When After Effects runs into these bad frames it shuts down. Really slows me down hunting for bad frames and such.

Thanks, chipmasque. I’ll take your advice and see if I get better results.

I’m going to do some tests to see if creating my image sequences from After Effects helps.

I really can’t say that’s the solution, but it’s definitely a new workflow path to try out. I see it as a matter of trying to isolate the problem from the initial steps, so starting with the original source material (sounds like for you that’s mostly video footage), keep that constant while trying out different ways too get it into Blender without the corruption you see. My experience is that writing anything out of the VSE from encoded video source material can be problematic – not always, but often enough to be cautious.

It’s also possible that a combination of factors is in effect here, so that on other machines, where the factors differ in some way, the problem doesn’t present itself. I can’t speak from an “under-the-Blender-hood” perspective, that’d take the dev who works on the VSE, and the best way to get that kind of attention is via a bug report.

“…how often should you have a corrupted frame in your renders?” Never, far as I’m concerned. And when I render my modeled scenes to PNG, I can say “Never.” Not once. But I have had occasional odd glitches writing from encoded video sources, even when using them as texture sources. So I now use only raw AVI for that. That’s my workaround for a possible glitch source. Lotsa places in Blender where such bandaids are sometimes needed, and the VSE seems a particularly sore spot in this regard.

I’m not familiar enough with the caching process used for motion tracking, so I can’t speak well to that problem, but again, if your source material is an encoded video file, then it’s more likely that you’ll see errors, imo. I know even less about the pipelines to AE (I use the Blender Compositor), so why there is an issue there I can’t say. Maybe trying different pipeline details (like the format used for the data sent to AE) would be helpful?

Thanks for the help, I will put that workflow to practice.

I’ll continue to narrow down why I’m having render problems. Even if it’s just saving out an openGL preview, solid, I always get corrupt frames.

And when I’m caching in the movie editor, like I said I’ll have a duplicate image sequence so when it kills a frame I go manually back to copy and paste it in, and when I reload it in Blender I try to cache it again, it kills different frames. So the frame corruption isn’t even consistent which you’d expect it to be if it was corrupted to begin with when it became an image sequence, but thanks again for hearing and helping me out. When I get a chance to test that workflow I’ll post results.

If you don’t mind taking the time to prep it, I’d be willing to try a test run on a file that glitches on your system. I use Win Vista 32bit, 'bout as far from a Mac OS as you can get ;), but if it can shed a little more light on things, I’m game.