You don't have a lot of options here.
Much like YouTube pre-processes the video to allow for fast time-seeking, you're going to have to 'index' the frames of the video first.
I can guarantee that the system compresses video, so each of your frame sizes is going to be different. That means no random access. You can index the video first by walking through each clip and pulling the frames. This would allow for an index of the byte location and frame number.
Beyond that, you're going to likely have to rely on the file naming. Most of these systems will name the file based on date and time. Again, you'll have to index these by parsing the name and extracting this information. You can then build a couple of tables in SQL - and then some views - that will allow you to get per-second search ability across the time.
No free ride here. Check out
ffmpeg[
^] to get a head start.
Cheers.