how to make an image sequence + audio play smoothly in VSE

Hi,

My computer is 5 years old and I can’t tell you anything other than is has an intel i7 920, with 6gb of RAM and windows 7 ultimate (64).

I have a sequence of around 7000 images that are not syncing with the audio I have for them after rendering them into a video file. There is about 300 extra images or so. When I put the sequence of images and audio together in the VSE, it plays VERY slowly. It is impossible to see anything as the audio is playing in real time but the images are moving one frame every 6 or 7 seconds.

I realize my computer is very old, but I was wondering if there was anyway to get a decent playback rate through the VSE to see if I can sync my video and audio without having to render everything (which takes about 2 hours).

thanks

Use av sync playback. It’s a button at the bottom of the timeline then turn on proxy for the image seq strip. Then render it then change display properties in vse viewer to proxy.

I should have said that the said audio is not what was originally recorded with the video. It is an add on, so I don’t think that AV sync is applicable here.

the OS is crappy of course but the hardware is pretty decent for your task

I have a sequence of around 7000 images that are not syncing with the audio I have for them after rendering them into a video file. There is about 300 extra images or so.

what exactly do you mean by this, that the audio strip is shorter that the image sequence?
How were the images originated? What was the original frame rate? It could well be that you’ve not set the proper frame rate in the project settings.
If the audio is added then it should be relatively easy to match the two.

When I put the sequence of images and audio together in the VSE, it plays VERY slowly. It is impossible to see anything as the audio is playing in real time but the images are moving one frame every 6 or 7 seconds.

now, this is an entirely different problem and can be solved by generating proxies as 3point suggested.
Using proxies & the AVSync mode will give you a smooth playback experience on such a system.

The AV sync feature makes Blender drop frames to keep the playback in sync with the audio. The audio should play at the correct frame rate (generally you hear popping or clicking if its not). So the proxies are exactly for this use (ie. large memory intensive frames that won’t stream smoothly).

@3pointedit.

now that makes sense. I didn’t know that. so does that mean that the beginning of the the image sequence and audio have to be lined up exactly flush with each other?

Not necessarily. They need to line up with a sync point which doesn’t have to be the start. For example a door closing would occur after the start of the shot.

for whatever reason this doesn’t seem to be working out of me. After syncing, the audio plays fine, but the video speeds up, stops, speeds up for the first 5 seconds and then just freezes from that point while the audio continues.

You are watching the buffer discharge. Have you tried creating a proxy of the image sequence?

yeah, I reduced it down to 25 percent and it still crawls. I think I found the solution though. Every 1500 frames I have to take out a random, yet even amount of frames (around 60) and that seems to do it. I’ll use blender just to create an avi of the image and then i’ll import it to aviutl where I can use the full 1536 kbps of the audio file as opposed to the limiting
384kbps of Blender.

thanks for your advice though

go to:
File–>User Preferences–>System:
prefetch frames: set it to 500 (as high as it can go)
Memory cache limit: set it to 6GB (all of your physical ram)
check playback using the proxies you created, and get back to us with the good playback news :slight_smile:

you did it! thank you so much. I wasn’t able to set the 6gb memory cache limit. It would only go tl 1024.
but setting the frames for 500 (prefetch) made it as smooth as glass!

thank you so much:yes:

edit: I spoke too soon…I’m going to try to download the newest version of Blender as I’m a few versions behind.

ok, still no better, here’s a screen capture of what I did. Getting 2.5 fps just like a render. If I use the sequencer only though, I get 24 fps.




Is proxy display active? You turn it on in the VSE preview window. That’s the one with the video image, use the n key to display it properties then select the proxy size you have rendered for the strip. They all have to match as you can’t mix proxy sizes like you can with high res media.

yes, as indicated here in the screenshot:


i’m doing something wrong, because the first time blendercomp told me to set the prefetch frames, it worked.

Oh sorry I thought you had a split timeline viewer. You shouldn’t need to reduce the render scale in project settings, thats what the proxy size is for. Try the refresh sequencer burton at the bottom of the vse timeline and I’m not sure your strip actually has a proxy generated? It needs timecode to ideally.

uglijimus: this shouldn’t be too difficult to configure and it is a known fact that it works seamlessly.
I’m using proxies on my i7 6GB linux all the time, so there’s definately something you’re not doing right.
Missing a step or using improper settings will make proxies unavailable.
I’m very busy today but I may manage to make a very short (yeah…right) videotutorial about it in the next few days.

@blendercomp

thanks for the offer, but just hold on to that. between your advise and 3pointedit, I am on to something. I’m experimenting and after that i’ll update soon!

Here’s what I’ve done:

http://www.mediafire.com/view/uptl2ct6d8mfpqr/Capture.PNG

I created the proxy (which I didnt’ know I had to do when I first read 3pointedit’s suggestion).
So as you can see, I have the original strip + the proxy one as well.
I figured I would just edit them together as needed. For example, I play them together with the audio file and when something doesn’t sync, I will take out a frame or two here or there. The only pain is I have to edit both of them (the original and the proxy) at the same time. But this is a lot better than what I’ve been doing for the past 2 weeks, which was rendering the whole file, then figuring out where a frame needed to be cut out and then re-rendering, etc.

I am I doing this in a backwards way or is this standard?

Ok, I think that I see what the problem is now.
You may (?) have created proxies at 25% of the original resolution but you seem to have placed them on the top of the original image strip. Higher channel means that unless you have transparency && alpha over blending mode, the top strip will basically occlude whatever is on the lower channels. So it’s of no use really.

What is more, you don’t seem to have activated the relevant checkbox for the proxies, so I wonder how exactly you have created the proxies at all. I mean it’s possible to do it manually (that was the old way) but for quite sometime now all you need is simply to activate a checkbox.

The proper workflow is:
#1 select strip
#2 N-panel: click on the proxy/timecode checkbox
#3. set the resolution to be 50% (or lower 25%)
#4. go to the VSE strip menu: rebuild proxy & timecode indices
#5. [hang on until blender is done building proxies - a progress bar is visible on the VSE header]
#6. go to the viewer window: view settings panel–> set the proxy size to the resolution of step #3
#7. play back and live happily ever after :slight_smile:

You should get a solid 24 fps (or whatever fps setting you have) at 25%.

If you have changed system settings to prefetching 500 frames and to allocating lots of ram, playback will be smooooooooooooooth. :slight_smile:

If it isn’t, well then…it’s not an video playback issue at all: it’s an audio one :wink:

Extract the audio from the video, convert it to lossless audio (pcm), and use the uncompressed audio in place of the original compressed one.

In the unlikely case that you still experience problems, then you can either share the material with us to check (is possible) or file a bug.

Anywayz, proxies (should) work out of the box.

(I’m writing under the assumption that you do have a recent stable blender build)