I think ffmpeg would do it. This has the advantage of not decompressing and recompressing your file, so it should be quick. Use the -c copy argument to achieve this.
ffmpeg -i input.mp4 -ss 00:02:30 -t 00:10:00 -c copy output.mp4
To explain the above command...
ffmpeg is the application
-i input.mp4 is your input file
-ss 00:02:30 starting point (HH:MM:...
Option 1: Rename
First rename all of the inputs so they have zero-padding (001.png...450.png).
Then run ffmpeg:
ffmpeg -framerate 25 -i %03d.png output.avi
ffmpeg -framerate 25 -pattern_type glob -i "*.png" output.avi
Option 2: Sort
Use a more complicated command to sort the files and then pipe to ffmpeg:
cat $(find . -maxdepth 1 -name "*.png" | ...
I suspect that what you are after is a --delay 5 type option for FFmpeg which at the moment does not exist except as a feature request. However there is an older utility called fswebcam which I have tested comprehensively on my system that will accomplish exactly what you are after. Install with:
sudo apt-get install fswebcam
and run a simple command line ...