Though it's like using a cannon (not Canon) to shoot a flea, both Shotcut and OpenShot show time wih a resolution of 1/100 second, i.e., ten milliseconds, which is not quite what you ask for... but one could interpolate by noting the points where the lowest decimal place ticks over, and stretch the timeline so that one could measure along it in ms.
Caveat: This is only of use in a video with sufficient information. One recorded at any speed less than 100 frames per second does not have any changes on the ms level, and if a video format using temporal compression is used, only the difference between frames is recorded, making it very difficult, if not impossible, to extract information at the level of a single "frame", i.e., delta between full frames.
If you have a true high speed camera with a stand-alone video recorder not using compression, then you can see whole frames in less than ms resolution... and likely have the specialized software to do so.