Retain values between sessions

This is a real newbie question, so apologies in advance for may seem a very dumb question ... I'm trying to understand the various ways in which information can be retained in a notebook between sessions, using DynamicModule[] etc. Understanding how a good MMA user would solve the following simple task would be really helpful:

Say I want to load a video file and then create a simple slider to scroll through the frames. This works:

frames = Import["myvideofile.avi", {"Frames", All}];
Manipulate[frames[[f]], {f, 1, Length[frames],1}]


But, say I want to remember which frame the slider was left at between Mathematica sessions, how would I do that elegantly? If I re-open the code above, there's an error because 'frames' isn't defined until the video is imported.

In other words, upon re-opening the notebook, the first thing I'd like to happen is for 'frames' to be imported. I'm speculating that I need DynamicModule, with Initialization but have tried many different ways and can't get it to work.

-
Check SaveDefinitions -> True option of Manipulate and as well as the Initialization possibility. –  PlatoManiac Sep 12 '12 at 14:07
You may also use simply ListAnimate[frames]which should remember its content across session. Re-using those will be more tricky though. –  Yves Klett Sep 12 '12 at 15:21

Manipulate[frames[[f]], {f, 1, Length[frames], 1},SaveDefinitions -> True]

and this is faster in this case than importing the frames through Initialization option of Manipulate.
You can see while opening the notebook Slider remains in the same place as it was when the notebook was closed for the last time. The second version involving Initialization also does the job you want but it takes much time to load in the first place. This happens as Initialization needs first to import your data. In such time consuming cases we often need to override the initialization time out using SynchronousInitialization -> False.