A system for synchronizing unsynchronized encoded aerial video data (110, 230, 425) acquired by a camera attached to an aerial vehicle and separately acquired telemetry data (100, 140, 150, 160, 220) for generation of a map containing the aerial video data (110, 230, 425), the telemetry data (100, 140, 150, 160, 220) including indicia indicative of a ground location including the longitude and latitude position for a ground location that the camera is photographing, the system comprising: a telemetry parser (175, 410) for receiving a user-defined acquisition time period and a telemetry data stream where the telemetry data stream includes telemetry data (100, 140, 150, 160, 220) acquired at a sampling rate such that each telemetry data sample has an associated acquisition time and parsing the telemetry data stream to locate telemetry data temporally proximate or within the user-defined acquisition time period; a video frame extraction module for accessing an encoded aerial video data stream and decoding a portion of the encoded aerial video data stream into video frames to be synchronized, wherein each video frame to be synchronized has an associated video frame data time that is temporally proximate to or within the user-defined time period; a filter (300, 430) for producing extrapolated or interpolated-telemetry data so that there is telemetry data (160, 220) that corresponds to each video frame to be synchronized within the user-defined acquisition time period; and a synchronization module (177, 420) for synchronizing telemetry data, including extrapolated or interpolated telemetry data, and the video frames to be synchronized based upon the acquisition time and video frame data time information, wherein the telemetry parser (175, 410) is a serial parser and the telemetry data is encoded in Key Length Value format, wherein the serial parser is used such that if the timestamp for the telemetry data is not temporally proximate or within the user-defined acquisition time period, the data is discarded and the parser continues without adding the data to a parse tree, and wherein the encoded aerial video data stream is parsed to locate said portion of the encoded aerial video data stream based upon a presentation timestamp (PTS, 210, 321A). a telemetry parser (175, 410) for receiving a user-defined acquisition time period and a telemetry data stream where the telemetry data stream includes telemetry data (100, 140, 150, 160, 220) acquired at a sampling rate such that each telemetry data sample has an associated acquisition time and parsing the telemetry data stream to locate telemetry data temporally proximate or within the user-defined acquisition time period; a video frame extraction module for accessing an encoded aerial video data stream and decoding a portion of the encoded aerial video data stream into video frames to be synchronized, wherein each video frame to be synchronized has an associated video frame data time that is temporally proximate to or within the user-defined time period; a filter (300, 430) for producing extrapolated or interpolated-telemetry data so that there is telemetry data (160, 220) that corresponds to each video frame to be synchronized within the user-defined acquisition time period; and a synchronization module (177, 420) for synchronizing telemetry data, including extrapolated or interpolated telemetry data, and the video frames to be synchronized based upon the acquisition time and video frame data time information, wherein the telemetry parser (175, 410) is a serial parser and the telemetry data is encoded in Key Length Value format, wherein the serial parser is used such that if the timestamp for the telemetry data is not temporally proximate or within the user-defined acquisition time period, the data is discarded and the parser continues without adding the data to a parse tree, and wherein the encoded aerial video data stream is parsed to locate said portion of the encoded aerial video data stream based upon a presentation timestamp (PTS, 210, 321A).