is there an easier way to use a still from a movie as a texture? I want to use a single frame from a movie as an image for a texture.  And I do NOT want to store the still in a file (I'll be creating hundreds of these materials using python).

If I give the material a texture from an "Image or Movie" and pick the movie file then blender automatically picks a different frame from the movie for each frame in the animation.  This is very convenient if you want the texture to play back the movie during the course of the animation.

If, however, you want to use a single still from the movie, the only way I have come up with to accomplish the mission is to put keyframes on the Offset property of the Image subpanel of the texture.  By making the offset decrement by 1 each frame you effectively freeze the texture on a single still.

I want to make sure there isn't a checkbox I overlooked or a simpler way.
It's very easy to choose just one frame form a video to be used:

look for the frame controls in the texture panel.



Here's an example of how to use it:

Frames (how many frames you want to use from the video file, in this case just 1 since we want to freeze it, even if the original video has thousands of frames)

Start (at what point in the blender time line should this image start? In this case it will start from the very first frame of the blender project.)

Offset Set the frame number of the particular frame you want to freeze, in this case the frame with the smile is 1110.

In other words, blender will just use one image as a texture and will play only frame 1110 of the video file on every frame of the blender project starting from the beginning.

For Cycles the same options are available on the Image Texture node.