This is a little bit tricky, but possible. I do things like this frequently. There are two ways you can do it. One using AppleScript, and one without. The AppleScript method is easier, but I'll explain both.
1. Paste your image into a new movie in QuickTime Player.
2. Open Script Editor and run this script:The movie will now be 1 second long. You can change "600" in the script with whatever number you like. The number is in 1/600ths of a second, so 600 = 1 second. Now select all, copy, and paste it into any movie you want.Code:tell application "QuickTime Player" to set the duration of the frame 1 of track 1 of movie 1 to 600
The problem with this method is that it's only suitable for cases like this, when you have ONE frame you want to stretch out. The non-AppleScript method is a bit more flexible, as it can stretch an entire track (or even several tracks at once).
1. Copy the image you want.
2. Create a new movie in QuickTime Player.
3. Paste the image in, then copy the movie and close it (yes, you need to copy what you just pasted).
4. Open an existing movie.
5. Select the first few seconds of the movie and choose "Add to Selection and Scale" from the Edit menu.
6. Show the movie properties (command-J), select the newly-created video track (probably called "video track 2"), and click the Extract button.
A new movie will appear that contains the image you pasted, only this one will last for several seconds (or however much you selected in step 5). Now just copy this and paste it into any movie you want. You can close and not save the dummy movie you opened in step 4.
The commands will be in different places if you're using QT6, but the basic idea works with any version.