I would probably just stick with two sketches. In fact that’s exactly what I did for my Movie Colors project.
I wouldn’t worry too much about “efficiency” with this kind of thing. Keeping your code simple and easy to work with is generally much more important.
If you really need to do it in one sketch, then you can do something like play the movie at 10x speed to get the frames at startup.