Some cameras inherently support this. It can be achieved via several ways but most generally consists of monitoring the timecode and generating a list of interesting time codes that are stored in metadata for the file. The first time I saw this feature was actually a mark functionality that was built in to my Canon GL2 (pro-sumer SD mini-DV camcorder). It isn't available on all platforms directly though (I'm not aware of a mark timecode feature on my Ursa Mini for example.) However, there may also be alternatives that can measure from either external timecode generation or by monitoring timecode on the output video feed (when timecode is included).
It might also be possible to use some other form of syncronization based on a simple stopwatch, however such timing would need manual sync for each file and would potentially drift over time if not genlocked since different timers can drift slightly over time.